Scott Fitzgerald is a technical designer at Crytek working in the Engine Licensing Department.
Previously working as a Level Designer at Blitz Games Studios, Scott has brought his skills over to Crytek to help develop the world leading AAA Game Development Suite – CryEngine 3
As you may be aware from a recent news post, Crytek went to GDC 2012 in San Francisco. During the conference Scott Fitzgerald gave multiple presentations on the new DX11 technology implemented into CryEngine 3 and the next release of the FreeSDK. Please note: There is no specific release date for FreeSDK Update at present.
Crytek 2012 Tech Demo Trailer
Point Light Shafts
Light shafts have been present for the sun in CryEngine for a long time, however now the same light shaft effects for the sun are available to apply to any light in the game.
The effect can be tested by using one of the light flare materials provided and the new shader associated with them. The controls for the effect lie within the entity properties of the light itself.
The technique was originally developed to be included in Crysis 2 but wasn’t used in the retail product, Crytek are however making the technology available within the CryEngine SDK and FreeSDK for anyone who wishes to make use of the effects.
Parallax Occlusion Mapping
Parallax Occlusion Mapping has been around since the days of Crysis 1 where it was limited to terrain and flat objects. There days Parallax Occlusion Mapping or ‘POM’ can be applied to almost any in-game asset rendered in DirectX 9 or above.
The textures required for POM to be enabled in DirectX 9 are identical to that required to enable tessellation within DirectX11 assets meaning an excellent trade-off between different Hardware Architectures (PC vs. Current Gen Consoles) with no additional work required from games artists.
Hardware Tessellation is a DirectX 11 technique implemented into CryEngine 3 which allows the graphics card to increase the geometric density of an asset using mathematical algorithms. 3 types of displacement are supported by CryEngine 3: Phong, PN Triangles and Displacement Mapping.
Phong Tessellation is an approximation technique based on vertex normals.
PN Triangles is a similar technique that improves on the Phong method with improved smoothing over patch boundaries at the cost of a slight performance hit by comparison.
The Crytek preferred method of Hardware Tessellation for game assets is Displacement Mapping – Similar to the kind of displacement used in offline rendering, Displacement Mapping in CryEngine reads a Black and White Displacement Map to offset the geometry based on the pixel value on the texture map relative to the geometry.
A displacement map is limited on the 0 to 255 black to white pixel scale, because of this CryEngine has many parameters available to manipulate or exaggerate visual effects such as Displacement Bias and Displacement Height Scale.
The tessellation of geometry is relative the camera meaning that the effect is only applied to objects that are nearby for performance; Artists are also able to modify the relative size of the triangles in a tessellated mesh by modifying a CVAR in the engine.
Screen Space Directional Occlusion
Screen Space Directional Occlusion or SSDO is the next generation of SSAO or Screen Space Ambient Occlusion; SSAO or Screen Space Ambient Occlusion was first proposed by Vladimir Kajalin whilst working for Crytek in 2006 and was used for the first time with the release of Crysis in 2007.
SSDO was a concept originally researched by Tobias Ritschel, Thorsten Grosch and Hans-Peter Seidel; the research & development team at Crytek led by Anton Kaplanyan were able to implement a version of this into the latest CryEngine 3 offering an improved level of Global Illumination within screen space. SSDO allows for smoother shadow contact between objects from ambient deferred lights which do not cast a traditional shadow within an environment.
Screen Space Real-Time Reflections
Screen Space Real-Time Reflections within CryEngine 3 are the result of a raytrace approximation of reflective objects within the cameras view.
The limitations of this technology are hinted at in its title – Screen Space. This means that the renderer can only approximate pixels that are within the current camera view; Because of this Crytek use an amalgamation of Screen Space Real-Time Reflections and environment probes which create an environment map to apply to reflective objects within a scene.
Tessellated Water and Ocean
In the DirectX 11 version of CryEngine 3 the oceans are now rendered with tessellated geometry; this allows for more realistic wave simulation forming crests and valleys. The Ocean shader also supports features such as Crest Foam approximation, creating white foam that appears at the peak of waves based on the height of the geometry within the water along with sub-surface scattering where the penetration of light within the ocean material simulates a scattering of light.
Particle System Improvements
Particle systems within CryEngine 3 now have the ability to receive shadows allowing for improved seamlessness between particle systems and surrounding geometry.
In the thumbnail to the right you can see the almost bland grey colour covering a particle system unable to receive shadows.
Compare this to the right side of the image where the particles softly integrate with the rest of the environment allowing for a much more realistic effect.