Graphics engine

from Wikipedia, the free encyclopedia

A graphics engine (literally "graphics machine" , more freely for example: "graphics engine" or "graphics module" ) is a part of a computer program or computer hardware , a so-called engine , which is responsible for displaying computer graphics . Mostly, it is about 3D computer graphics that are as realistic as possible, such as objects, the environment and people (keyword: virtual reality ). In connection with 3D computer graphics, the graphics engine is therefore also called the 3D engine . Specifically, it is an integrated or externally stored program code that is responsible for calculating the graphic interface in parallel to the actual game (see game engine ).

The graphics engine is often understood as part of the game engine, but in fact it is only responsible for calculating the display, while the term game engine represents the basis of the entire game (audio, gameplay, menus, etc.). In addition to games, other applications such as CAD or geospatial applications and general visualization software can also control a graphics engine.

It is often confused with the render engine , which only outputs the data available in the 3D world on the display.

function

The graphics engine offers a programmer a wide range of graphic functions and effects (geometric object description, surface textures , light and shadow ( shading ), transparency , reflections , etc.), so that he does not have to always reprogram these for his special application.

Especially with 3D computer games such as first person shooters , the quality of the effects of their respective graphics engine is a decisive factor in the commercial success of the game, which is why they receive a lot of attention in this area.

There are different techniques to represent three-dimensional worlds on the computer: Most often the 3D world is constructed by polygons , these surfaces are then covered with a kind of wallpaper, the texture . There are also particle effects that can represent fog, dirt, fire or water, for example. In advanced 3D engines, the textures are covered with so-called bump maps , which give a three - dimensional structure.

An alternative technique for the visual construction of 3D worlds is the voxel technique. Here, comparable to the raster graphics , the color value and properties of each point in the 3D world are saved in a three-dimensional data set.

The final stage of the entire visualization process is the render engine, which uses the data to generate the actual pixel image displayed on the screen.

history

The term didn't come into use until the mid-1980s, when Lucasfilm Games first used their 3D fractal technology and Epyx their Freescape Engine in games. The Freescape engine was also used by other game manufacturers. In the early 1990s, Id Software began to develop its graphics engines for 3D graphics and to make them available to other game manufacturers on a larger scale for a license fee. This enabled them to develop new 3D games faster. 3D graphics require very complex optimizations and calculations, and the programmers at Id Software were leaders in these areas at the time.

For many computer games, 3D engines from other manufacturers are licensed because it is often not worth the effort to develop your own contemporary 3D graphics. A game can be completed much faster and usually has better graphics than would be the case with a complete in-house production.

Engines in the field of film and computer games

Movie

Graphics engines for rendering realistic images and animations are much more complex than those for games. For example, depending on the computing power, rendering a single image can take several hours. Therefore, graphically complex film scenes often have to be calculated by dozens of computers at the same time.

The most common rendering software is:

With the help of programs such as Houdini , Maya , LightWave 3D , Cinema 4D , 3ds Max , Blender and ZBrush , the models (people, effects etc.) are created, which are then calculated ("rendered") so that a 3D graphic is created.

A difference to the graphics engines of games are the physical accuracy and much more complex calculation methods such as final gathering , global lighting , caustic , ray tracing . However, no engine is completely physically correct. The goal is to make the pictures just look "as if".

The use of such complex software ranges from product visualizations, architecture, effects to completely digital films such as Final Fantasy VII: Advent Children , Finding Nemo or the effects and people in films such as Star Wars , Lord of the Rings and Matrix . Without the ongoing development of the rendering software, these films would not have been possible.

computer game

The graphics engines for calculating games are far more numerous and are developing rapidly.

In computer games, the graphics engine usually also performs the physics calculation. However, sound and AI are not part of the task of the graphics engine.

Current engines are e.g. B. id Tech 6 ( Doom ), Unreal Engine 4 ( Gears of War 4 , ARK: Survival Evolved ), CryEngine V ( Prey ), Frostbite 3 ( Battlefield 1 , Star Wars: Battlefront ) and Unity ( Pokémon GO , Firewatch ).

The limited computing power is a major difficulty. In the production of a film, the creation of a single image can take several hours or longer, while a single image in a game must be calculated in a fraction of a second. The game engines must therefore have certain minimum requirements for the GPU and CPU in order to function at all.

Differences between film and game

The difference between game and film can be seen, for example, in the film Final Fantasy and the game of the same name. An image (1 second ~ 24 images) is calculated for up to 90 hours in the case of film, whereas 24 images must be calculated in one second for the game. Graphics engines for computer games therefore focus on computing speed and, unlike films, have to forego realism and accuracy. Even today, the graphics engines are still separated in terms of requirements and areas of application.

The trend towards further overlaps between film and game

In the meantime, there is a trend to use more and more real-time technologies in the film sector, such as were previously only used in games. The reason for this is not least that the graphics cards are now so powerful that they can perform calculations in real time that previously could only be calculated offline.

For this reason, nowadays all known 3D modeling programs such as Maya , XSI and 3ds Max support not only classic offline rendering, but also real-time rendering (“preview” function) where you can see the result immediately. This significantly improves the workflow of computer graphic artists because they can quickly see and assess the result of changes instead of having to wait hours. Graphics chip manufacturers such as Nvidia are also investing specifically in this area, for example with the development and marketing of the shader language Cg , which is used in both areas. The same applies to the HLSL shader language developed by Microsoft . Rendering effects that are developed in these languages ​​can thus - at least to a limited extent, or with rework - be used in both areas. In summary it can be said that the techniques of the graphics engines for computer games and film are getting closer and closer.

Another aspect is that the ways of creating graphics for graphics engines are converging more and more for computer games and movies.

  • There used to be separate programs for developing computer games, such as special level editors. Programs like Maya are now used by default for both games and movies. The graphics engines of computer games and for film work with increasingly similar input data.
  • The modeling techniques used are becoming more and more similar. While the worlds for computer games were often composed of individual polygons in the past, techniques such as subdivision surfaces and textures are now used, as in film . Here, too, the reason is that the techniques of the underlying graphics engines have converged.
  • More and more computer graphic artists work in both industries. For example, id Software specifically hired graphic designers from the film industry for Doom 3 . The other way around, the graphic artists of the computer game Final Fantasy later created the computer graphics for the movie of the same name.

Milestones in 3D graphics engines

From the large number of graphics engines (which often have no name of their own and which bear the name of the game for which they were developed), some particularly stand out, which are listed in the following overview table.

Chronological overview of the most important graphics engines
Game name Engine Companies year
Driller Freescape Engine Incentive software 1987
Wolfenstein 3D Wolfenstein 3D engine id software 1992
Ultima Underworld: The Stygian Abyss Ultima Underworld engine Blue Sky Productions 1992
Doom Doom engine id software 1993
System shock System shock engine Looking Glass Studios 1994
Quake Quake engine ( id Tech 1) id software 1996
Duke Nukem 3D Build engine 3D realms 1996
Quake II Quake engine ( id Tech 2) id software 1996
Unreal Unreal Engine Epic Games 1998
Quake III arena Quake III engine ( id Tech 3) id software 1999
Unreal Tournament Unreal Engine 1.5 Epic Games 1999
Halo Halo engine Bungie Studios 2001
Red Faction GeoMod Engine THQ 2001
The Elder Scrolls III: Morrowind Gamebryo Ubi Soft 2002
Unreal Tournament 2003 Unreal Engine 2 Epic Games 2002
Far Cry CryEngine 1.0 Crytek 2004
Unreal Tournament 2004 Unreal Engine 2.5 Epic Games 2004
Doom 3 Doom 3 engine ( id Tech 4) id software 2004
Half-Life 2 Source Engine Valve 2004
FEAR Jupiter Ex engine Monolith Productions 2005
The Elder Scrolls IV: Oblivion Gamebryo engine Bethesda Softworks 2006
Company of Heroes Essence Engine Relic entertainment 2006
Gears of War Unreal Engine 3 Epic Games 2006
Crysis CryEngine 2 Crytek 2007
Unreal Tournament 3 Unreal Engine 3 Epic Games 2007
GTA IV Rockstar Advanced Game Engine Natural motion 2008
Far Cry 2 Dunia Engine Ubisoft 2008
Uncharted 2: Among Thieves Naughty Dogs game engine 2.0 Naughty Dog 2009
Rage id Tech 5 id software 2011
Battlefield 3 Frostbite 2 engine DICE 2011
Gears of War 3 Unreal Engine 3.5 Epic Games 2011
Crysis 3 CryEngine 3 Crytek 2013
Eve: Valkyrie Unreal Engine 4 Epic Games 2014

Popular graphics engines, at least in the field of first-person shooters , have come almost exclusively from id Software , Epic Games and Valve in recent years . In 2004, the German company Crytek also made the breakthrough with its CryEngine 1.0, which is used in Far Cry. As another German company, Spinor managed with its Shark 3D engine that the adventure game Dreamfall based on it from the Norwegian company Funcom won several awards at E3 2004.

Commercial graphics engines

The following 3D engines are public and so far published for commercial use:

Open source graphics engines

The following engines are freely available in the source code:

Interfaces for graphics engines

The graphics engine used has a major influence on the appearance of a computer game. You determined z. B. how many polygons can be displayed or whether DirectX , OpenGL or another graphic interface is used.

The DirectX version used is also important. Pixel and vertex shaders are only supported from DirectX 8 . a. are needed for realistic water surfaces, shadows and character animations .

The graphics engine is usually an integral part of the game engine and cannot simply be replaced. Some games for Windows have both a DirectX and an OpenGL interface. On Linux and Mac OS , however, only OpenGL is available. (DirectX is available under Linux with the Wine or Cedega runtimes , but not all Windows games work with Wine.)

The OpenGL standardization usually lags far behind, but thanks to direct interfaces to the graphics drivers , new features are also available in old versions, usually even before DirectX.

Web links

Specifications:

Overview of 3D engines:

Individual evidence

  1. a b http://www.ca3d-engine.de/
  2. http://uk.ign.com/articles/2008/10/22/exploring-the-freescape
  3. Archived copy ( memento of the original dated December 24, 2014 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / www.nuclearglory.com
  4. Archive link ( Memento of the original from March 13, 2008 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice.  @1@ 2Template: Webachiv / IABot / www.quest3d.com
  5. http://axiomengine.sourceforge.net/
  6. http://www.horde3d.org/
  7. http://www.pixellight.org/
  8. http://www.torquepowered.com/