Skip to content

Part 9 : Conclusion

haedri edited this page Mar 13, 2015 · 4 revisions

Conclusion

You should now have the basic knowledge to perform some shadows/lights on your program/game. We just saw the basics here, as you can see the result is not perfect, there are some artefacts, and we don't handle lighting correctly, we just focused on shadows, but it's a good starting point.

If you run this sample on Android/iOS it will work but might be quite slow, it's mainly because our scene has a complex geometry and memory bandwidth on mobile is limited; if scene was optimized you would get an higher frame rate.

Just some points you might be interested looking into:

PCF (Percentage-closer filtering)

http://developer.nvidia.com/GPUGems/gpugems_ch11.html

It will help softening the edges of shadows

Shadow "acne", bias

[http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/#Shadow_acne](http: //www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/#Shadow_acne)

Deferred shading

http://en.wikipedia.org/wiki/Deferred_shading

http://gamedevelopment.tutsplus.com/articles/forward-rendering-vs-deferred-rendering--gamedev-12342

Shadow mapping

http://en.wikipedia.org/wiki/Shadow_mapping

Just check the different techniques of the wikipedia page

Pack/unpack function to increase depth map precision

http://stackoverflow.com/questions/18453302/how-do-you-pack-one-32bit-int-into-4-8bit-ints-in-glsl-webgl

Updates

And of course you can follow me on twitter or my blog if you want some updates or new tutorials (see below)

About the author

Twitter : @Haedri

Website : http://www.microbasic.net

Email : haedri@microbasic.net

Copyright information

The tutorial itself (this pdf/webpage with associated images) is CC-by-nc, it means it can be distributed and modified as long as no commercial use is made out of it and you make appropriate credits (link to my website for example).

The source code / project associated is CC0, it means you can do anything you want with it, no credits needed (but they would be appreciated). Some classes are released under Apache License as they are taken from LibGdx (see top of source file for specific license information)

Clone this wiki locally