March 3, 2014

[Week 6 & 7] Shadow Mapping + Reading Week

Shadow Mapping!
In week 6 we began to cover the topic of shadow mapping.
Shadows in games play an important role, adding realism, character/mood, as well as helps the viewer to understand spatial relationships.
There are different techniques to creating shadows, as well as many variations on each technique. The main techniques include ray tracing, shadow maps (commonly used by Pixar), and shadow volumes (used by many current games).

Shadow mapping which I will be explaining today is a relatively easy to implement technique. Shadow mapping is an image-space technique. There are multiple pros and cons to using it. Some pros of using shadow mapping include its speed, and that it scales linearly, as well as the technique is optimized for GPU. When using a shadow map, you only need a depth buffer, and it also only requires general shapes (triangles, higher-order surfaces). A major con to using shadow mapping is the aliasing problem.

When creating shadow maps, there are two major viewpoints to consider; the lights viewpoint and how it interacts with the blocker (casts shadows) and receiver (surface shadow falls on), as well as the observers viewpoint, which is what the user can see.

Shadow Map Diagram
Projective Texture Mapping is another important concept which also applies to shadow maps. Shadow maps are textures, and they need to perform look-ups. The projective texture coordinates will first need to be computed, then transformed into lights space, then finally projected to screen space.

As stated previously, aliasing is currently an issue with shadow mapping; it can sometimes show up as jagged shadow edges, and as incorrect self-shadowing artifacts (visual artifacts). Shadow maps also have a finite resolution, and could also sometimes result in a resolution mismatch.
Currently a way that could fix this problem is by increasing the resolution of the shadow map; but this only reduces aliasing (not remove) as well as uses up extra GPU memory.

Reading Week + Tutorials!
Over the reading week for most of it I studied mainly for midterms, slept a lot, also some gaming when I had time :)
I didn't have my framework finished for the previous Friday as planned, continued to work on it over the reading week. I completed the artist Character Design homework question since I do enjoy modelling in Maya/Mudbox.
In Dan's tutorials, we went over non-photo-realistic rendering (toon shading), which did help my understanding for what I will need to do for the homework questions.

Next week’s blog I plan to cover more image processing.


- Jonathan S.

No comments:

Post a Comment