I have 10s of light sources in a scene with shadows. I am creating shadow maps using SGIX_shadow extension. When I use clipping planes to get rid of the back projection problem, it becomes really slow. How can I get rid of the back projection problem without slowing down the system?
Like davepermen said, clip planes are done with texturing on the GeForce series. If you’re using all four texunits already it might start to do clipplanes in software which will be slow. You can probably improve efficiency by using your own custom texture shaders to do clip planes.
Yes, GeForce series uses interpolant resources to perform user-clip. If you use all your texture stages, then enable clip planes, you’ll run in software.
when will there be finally more interpolators… not more textures, only more interpolators… (and sampling severall times from different textures more or less like the ati )
I am using only two textures per pass in GeForce4!!! So I have two more textures to use for clip-planes or texture-culling …
Both are slowing the system incredibly!
It should be running in software as you have said, even though I have unused textures… Is there anyway I can force it to be in hardware ? or correct the mistake the driver(? I guess) is making?
What I am doing is very simple, I do not think I am doing anything wrong…
I’m not sure if this is the case (somebody from nVidia would have to confirm or deny it) but if you are currently using two texture units then adding a clip plane might have the same effect on fill-rate as adding another texture. I believe that a GF3 runs at full speed with 1 or 2 textures, and drops to half-speed with 3 or 4 textures. So some questions to ask are:
Is your program fill-rate limited, and if so is the slowdown consistent with halving the effective fill-rate?
Does adding another texture (but not neccesarily sampling it) have no effect on performance?
Anyway, it’s just a possible explanation, but it certainly won’t help you improve performance…