Author: Created: Monday, May 24, 2010 RssIcon
The blog of the DigitalRune team.
By DigitalRune Team on Tuesday, November 25, 2014

The DigitalRune Engine includes XNA samples that show how to use the Kinect for Windows to animate 3D models in real-time. Here is a video of the original samples:

These samples were initially written for the Kinect v1. I have now updated them to work with the Kinect for Windows v2.

By DigitalRune Team on Wednesday, November 19, 2014

This article explains how shadow masks (a.k.a. deferred shadow maps) are used in DigitalRune Graphics.



By DigitalRune Team on Monday, November 17, 2014

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:

By DigitalRune Team on Saturday, November 15, 2014

"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":

By DigitalRune Team on Friday, November 14, 2014

This articles explains shadow filtering in DigitalRune Graphics.


By DigitalRune Team on Thursday, November 13, 2014

Graphics_ShadowsLast 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.

Shadows in Games

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 [1], Ray Traced Distance Field Soft Shadows [2], Real-time ray-traced shadows [3], etc.

By DigitalRune Team on Friday, October 31, 2014

imageOne major feature of the current DigitalRune Engine release (2014-10-23) is improved shadow map rendering. This includes:

  • Improved shadow map filtering (to reduce shadow aliasing)
  • Improved shadow map biasing (to reduce shadow acne)
    A normal bias has been added to remove shadow acne at slopes which are parallel to the light direction.
    Bias values are now specified in "shadow texels", and they automatically scale correctly with the shadow texel size. This makes the bias easier to configure.
By DigitalRune Team on Wednesday, October 29, 2014

imageIn the latest release of DigitalRune Graphics, we added morph target animation [1] (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.

By DigitalRune Team on Thursday, April 03, 2014

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 [1]). Instead, we will briefly describe all relevant parts, link to the relevant literature and go into detail where we have added something new.


By DigitalRune Team on Wednesday, March 12, 2014

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. …