» Shadow maps using depthbuffer
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Shadow maps using depthbuffer

demo
Credits: elliotwoods

about

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.

download

shadow map 0.1.zip
31.07.12 [15:23 UTC] by elliotwoods | 1415 downloads

kimiki 31/07/2012 - 15:52

1+

thx elliot

nissidis 31/07/2012 - 15:54

+1
perfect !

nissidis 31/07/2012 - 15:58

but doesnt work for me, plus I cant find this INTZ format texture..

elliotwoods 31/07/2012 - 17:02

@nissidis : you need the latest vvvv alpha release (alpha28 not beta27)

nissidis 31/07/2012 - 17:16

Yes, just noticed it in the tags section above.. :) thx !
(NITZ isn't it only for ATI's hardware ? :S)

elliotwoods 31/07/2012 - 18:01

fromhttp://aras-p.info/texts/D3D9GPUHacks.html#depth

INTZ is for recent (DX10+) hardware. With recent drivers, all three major IHVs expose this. According to ATI [1], it also allows using stencil buffer while rendering. Also allows reading from depth texture while it’s still being used for depth testing (but not depth writing). Looks like this applies to NV & Intel parts as well.

It should work on NVidia, ATI and Intel

nissidis 31/07/2012 - 19:36

thanks a lot Eliot!

nissidis 31/07/2012 - 20:01

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!

elliotwoods 01/08/2012 - 13:48

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

Psykeview 11/10/2012 - 15:16

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

nissidis 11/10/2012 - 20:11

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

nissidis 11/10/2012 - 20:28

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

anonymous user login

Shoutbox

~3mth ago

joreg: END OF SHOUTBOX! As this page has is now legacy, it will no longer feature new content. For latest news, see: http://vvvv.org

~4mth ago

joreg: vvvvTv S0204 is out: Custom Widgets with Dear ImGui: https://youtube.com/live/nrXfpn5V9h0

~4mth ago

joreg: New user registration is currently disabled as we're moving to a new login provider: https://visualprogramming.net/blog/2024/reclaiming-vvvv.org/

~4mth ago

joreg: vvvvTv S02E03 is out: Logging: https://youtube.com/live/OpUrJjTXBxM

~4mth ago

~4mth ago

joreg: Follow TobyK on his Advent of Code: https://www.twitch.tv/tobyklight

~4mth ago

joreg: vvvvTv S02E02 is out: Saving & Loading UI State: https://www.youtube.com/live/GJQGVxA1pIQ

~4mth ago

joreg: We now have a presence on LinkedIn: https://www.linkedin.com/company/vvvv-group

~5mth ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~5mth ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/