This article explains how shadow masks (a.k.a. deferred shadow maps) are used in DigitalRune Graphics.
This article covers how shadow maps are created.
DigitalRune Graphics provides the ShadowMapRenderer for creating shadow maps.
Shadow maps are created by calling ShadowMapRenderer.Render. For example:
"Shadow acne" is another problem caused by the limited resolution of the shadow map.
First, a scene with no shadow acne:
Figure: Reference scene, no shadow acne
When shadows are rendered naively – simply comparing a depth value with the value in the shadow map – the following happens: Faces are likely to be self-shadowed. This erroneous self-shadowing is called "shadow acne":
This articles explains shadow filtering in DigitalRune Graphics.
Last week we created a new tutorial for the DigitalRune Engine. It shows how to create a project with many DigitalRune features (e.g physics, particle effects, animation, GUI, deferred lighting) starting with an empty XNA project. The tutorial is designed for beginners and explains several basic concepts used in the DigitalRune Engine. If you are interested in this tutorial, please see Tutorial 01: Adding DigitalRune Engine to an XNA Game.
This week we continue with more details about our shadow mapping implementation.
The basic techniques in video games are: precomputed shadows (light maps), planar projected shadows, shadow volumes (stencil shadows), shadow maps.
However, these are by far not the only shadow rendering techniques. Other shadow rendering ideas: Screen Space Shadows , Ray Traced Distance Field Soft Shadows , Real-time ray-traced shadows , etc.
One major feature of the current DigitalRune Engine release (2014-10-23) is improved shadow map rendering. This includes:
In the latest release of DigitalRune Graphics, we added morph target animation  (a.k.a. per-vertex animation, blend shape interpolation, or just morphing) – the last ingredient for believable character animation.
Morph targets (a.k.a. blend shapes) can be used for a variety of things: to morph one object into another, to animate the bulging of muscles, as corrective shapes to fix bone deformations, as damage states for models, etc. But the most prominent application is facial animation. In the past, there have been games that relied solely on skeletal animation for facial animation, but modern games typically use a combination of skeletal animation and morph targets.
As requested, we will describe some implementation details of our water rendering solution. This will not be a complete step-by-step introduction – there are already many articles out there (see Water Rendering Resources ). Instead, we will briefly describe all relevant parts, link to the relevant literature and go into detail where we have added something new.
Rendering a body of water, like a river or an ocean, is nothing special anymore. Many game engines support it directly or have a water sample. And implementing water is not too hard. I guess, an experienced graphics programmer should be able to take a sample from the internet and get it running in his/her engine of choice in less than a day. However, adding a comprehensive, general-purpose water rendering solution to an engine, creating a simple API and integrating water with other engine features (such as dynamic lighting or fog) is more challenging.
We have recently added water support to DigitalRune Graphics. …
Here is a video demonstrating our new water rendering tech. Enjoy!
Important blog articles are collected in the DigitalRune Knowledge Base.
Weingartenstrasse 35, 4452 Ternberg