Products ::
Leadwerks Engine :: Rendering

A deferred lighting system with dynamic soft shadows makes Leadwerks Engine one of the most advanced real-time renderers on the market. Every object can cast, receive, and self-shadow. More than one million triangles can be drawn each frame in real-time.



Lighting
Leadwerks Engine features a unified lighting system with dynamic soft shadows. There is no limit to the depth and complexity of lighting interactions. Lamps can be knocked over, lights can be turned on and off at will, and dynamic day/night cycles can be used to render real-time sunsets and weather changes. Using a dynamic lighting system removes the need for any pre-processing or compiling; scenes can be edited in real-time, and the results are instantly visualized, significantly streamlining the development process.

Deferred lighting is basically a way of rendering lights and shadows in a post-processing step. Its strength is that it only processes lighting for the final screen pixels. Therefore it will run at the exact same speed whether there is one or one million polygons onscreen. This allows Leadwerks Engine to display dozens of dynamic lights at a very low performance cost.





Post-Processing Effects
Advancements in graphics hardware now allow full-screen effects to be performed on a rendered image, to create a wide variety of special effects. When used properly, post-processing effects can give a cinematic quality to computer graphics.

Leadwerks Engine features a low-level buffer and shader system which allows rendering of any kind of post-processing effect. Although this requires a deeper understanding of shaders than a simple "turn bloom on" system, it allows far greater flexibility. New post-processing effects can be added without having to modify the engine source code.

The following are just some of the post-processing effects supported:
  • Desaturation
  • Depth of field
  • Motion blur
  • Gaussian blur
  • Bloom
  • Screen-space ambient occlusion
  • Volumetric light scattering

Depth of field effect with control for near and far ranges

Screen-space ambient occlusion provides a
real-time approximation of global illumination


To render post-processing effects, we use an additional buffer. We first render the scene to the gbuffer, then render lighting onto the postbuffer. In the last step, we draw the postbuffer color texture onto the back buffer, with post-processing effects applied, as shown in the diagram below:



Advanced Effects
The engine's render buffer system allows the programmer to upload buffer components to a shader and use them for advanced effects, including the following:
  • Refraction and reflection
  • Soft particles
  • Water effects
New effects can be implemented without requiring any changes in the main engine source code.

Occlusion Culling
Leadwerks Engine uses per-pixel hierarchal occlusion culling performed on the GPU. There's no need for complicated BSP systems or visibility compiling; If you can't see it, it doesn't get drawn.


Related Lessons:
Read the latest thoughts and ideas from the Leadwerks dev team, and learn about new features and technical details of our technology.

From here you can access our community enhanced documentation center. Constantly updated, this guide features a command reference, video tutorials and hundreds of examples.

This is the place to discuss anything related to Leadwerks technology, showcase your productions and chat with fellow developers.