Continue reading
Tag Archives: soft shadow
Soft Shadows are Great!
I’ve just finihed to implement soft-shadows in the new oZone3D Engine. And I must say that soft shadows bring a huge amount of realism and credibility to 3d scenes. See for yourself:
![](https://www.ozone3d.net/blogs/labs/public/200608/o3_soft_shadows_final.jpg)
The oZone3D tech demo is available here: Soft Shadows Demo
You can consider this demo as a little benchmark. Just start the oZone3D_SoftShadows_Benchmark.exe and look at the FPS in the title bar. With my current devstation I got the following score:
PC1: AMD64 3500+ / 1024M DDR400 / Radeon X700Pro 128M Catalyst 6.6 / WinXpsp2: 5 FPS :thumbdown:
Soft shadows are very GPU consuming but they are the future of 3D! So to make the most of soft shadows, update your graphics card!
Depth Map Filtering – ATI vs NVIDIA
Really ATI has some problems with OpenGL. Now I’m working on soft shadows and my tmp devstation has a Radeon X700 (not the top-notch I know but an enough powerful CG). With my X700 (Catalyst 6.6) the soft shadow edges are rendered as follows:
![](public/200608/ATIX700_5x5_1024dmap_linear_partial.jpg)
And on my second CG, a nVidia 6600gt (forceware 91.31), the soft shadows are as follows:
![](public/200608/nv6600gt_5x5_1024dmap_linear_partial.jpg)
The GLSL shaders are the same, a 5×5 bluring kernel, with a shadow map (or depth map as you want) of 1024×1024 (via a FBO) with a linear filtering. Now if I set the nearest filtering mode, I get the following results for the X700:
![](public/200608/ATIX700_5x5_1024dmap_nearest_partial.jpg)
and for the 6600gt:
![](public/200608/nv6600gt_5x5_1024dmap_nearest_partial.jpg)
It seems as if the Radeon GPU has a bug in the filtering module when the gpu has to apply a linear filter on a depth map. Very strange.
I’m not satisfied by this explanation but it’s the only I see for the moment.
This kind of problem shows how it’s important for a graphics developer to have at least 2 workstations, one with a nVidia board and the other with an ATI CG. I tell you, realtime 3D is made of blood, sweat and screams! :winkhappy: