demo
Credits: elliotwoods
This patch and shader demonstrate how you can use a depth buffer as a shadow map to cast shadows from a light source.
Note that this is meant more as a learning tool than for your final projects, as there's many aesthetic improvements that should be made before deploying as a virtual scene lighting tool.
I've uploaded it here mostly to demonstrate the principle of how to perform this type of shadow mapping.
anonymous user login
~3mth ago
~4mth ago
~4mth ago
~4mth ago
~4mth ago
~4mth ago
~4mth ago
~4mth ago
~5mth ago
~5mth ago
1+
thx elliot
+1
perfect !
but doesnt work for me, plus I cant find this INTZ format texture..
@nissidis : you need the latest vvvv alpha release (alpha28 not beta27)
Yes, just noticed it in the tags section above.. :) thx !
(NITZ isn't it only for ATI's hardware ? :S)
fromhttp://aras-p.info/texts/D3D9GPUHacks.html#depth
It should work on NVidia, ATI and Intel
thanks a lot Eliot!
Another question : these shadows' artifacts (these that you mentioned before) are they because of Sampler, File Format or smoothstep() ?
PS: Is fast and accurate, I love it!
this is the 'de-facto' way of treating the shadows:
http://www.gamerendering.com/2008/11/15/percentage-closer-filtering-for-shadow-mapping/
but an even better way is to defocus them with a soft shadow:
http://www.rastertek.com/dx11tut42.html
both are fairly easy additions to the above
very nice elliot, i like it very much and the performance is very good,
just would like to know how to remove artifacts from the shadows,,, any tip to achieve this?
thanks
if you increase the FOV of perspective node and pull the light source further than the initial position (for example in Y axis) you will get a much better result eliminating almost all these artifacts. I still have the soft shadowing problem since I am totaly noob in hlsl programming and concepts
:/
@Psykeview --> a 'hint' would be the device(EX.9) wich is rendering the INTZ texture (right side). Check there until you start seeing the teapots getting white/grey, this was the only practical way for me to understand what I was doing...