[Soc-2013-dev] Weekly Report #9 BGE LoD and Bug Fixing

Daniel Stokes kupomail at gmail.com
Sat Aug 17 07:20:15 CEST 2013


== Progress ==
I have been hesitant to commit to my branch, since the LoD system is
currently under review, and I want to make the transition to Trunk as
smooth as possible. For now, I am stashing changes in patches.

Point light shadows are now mostly working, though there are still some
artifacts along the edge of the cube map I am having difficulties getting
rid of. Other than that, they work correctly with both simple and vsm
shadows.
The patch so far: http://www.pasteall.org/44889/diff

I also investigated controlling the blur effect on vsm shadows. Increasing
the blur effect causes banding to appear at higher resolutions, and would
likely require user control of the number of samples. We could potentially
edit the shader before compiling it to change it for the number of samples.
There is also a samples option from the render system's shadows that we
could reuse for this. Adding an option to toggle soft shadows would be
simple, and could be useful as a large amount of the time spent rendering
vsm shadows is in the blurring step.

I experimented with some different filtering options on vsm shadows. I was
unable to get mipmapping to do anything for the shadows, however I did have
some luck with anti-aliasing with MSAA. Anti-aliasing the shadows provided
visual improvement with minimal resource cost on low settings (2x-4x).
However, the visual improvements are only noticeable on low resolutions
when no blurring is being done. This could be a useful option if we add an
option to toggle soft shadows.
Patch: http://www.pasteall.org/44890/diff (has some hard coded values that
will need to be cleaned up)

While experimenting with the image format on the vsm render targets, I
noticed the values stored in the render targets appear to be unsigned
normalized values. This means they can be stored in an integer format
instead of a float format. Unfortunately, integer formats only go up to
16bits of precision, whereas vsm shadows are currently using 32bits.
Switching to 16bits causes some artifacts to occur, but they can be mostly
handled through the bias setting. I believe there is more information in
the vsm literature that addresses precision issues. Some of these
techniques may allow us to use the RG16 image format with minimal visual
degradation.
Patch: http://www.pasteall.org/44891/diff (it's a tiny one)

I have spent some time reviewing literature regarding cascaded shadow maps.
I think I understand the technique now, and have begun trying to fit the
lamp's frustum around the view frustum. I have been able generate the view
frustum corners to find the bounds of the view frustum, though something
seems strange when I try to adjust the light frustum based on this
information. For now I have just been experimenting in the light drawing
code. Next week I will try it with actual shadows.

== Next Week ==
I plan to get the cascaded shadow maps finished, and hopefully track down
the cause of the artifacts found in the point light shadows. I will also be
addressing some comments from the level of detail code review.

== Problems / Questions ==
None.

Regards,
Daniel Stokes
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/soc-2013-dev/attachments/20130816/48e812ba/attachment.htm 


More information about the Soc-2013-dev mailing list