I’m working on lighting and shading for a project I am working on and I
have run into the inherent issues with standard shadow mapping for point
lights. I’ve come across multiple different techniques for applying
proper shadow mapping to point likes and dual-paraboloid mapping is one
I was wondering if this technique, if implemented, would work for
directional and spotlights as well or if it is only
realistic/feasible/possible to implement for point lights?
Also, I’m using Ogre3D for the graphics rendering which (not sure how it
works 100% with other engines, as I’m fairly new to graphics rendering,)
culls lights that are outside the view frustum so that they simply cease
to exist, resulting in distorted/weird light and shadows when changing
the camera angle to a point where they enter or leave frustum. Will this
dual-paraboloid shadow mapping get rid of this issue or is there another
method I can use to get rid of it?
Last of all, how does this technique match up to other techniques such
as cube texture mapping in terms of performance, quality and general
ease of implementation?
Please log in or register to post a reply.
Why would you want dual-paraboloid mapping for directional and spot
lights? The problem that dual-paraboloid mapping is trying to solve
doesn’t exist in those cases, as you can just use a regular parallel or
The thing you mentioned about culling lights outside the view frustum
sounds like a bug in Ogre. Or maybe in your code / setup somewhere, as
I’d be pretty surprised if Ogre is getting such a simple thing wrong. :)
In any case, dual-paraboloid mapping has nothing to do with that. Lights
shouldn’t be culled if the light’s source point is outside the view
frustum, only if its whole volume of influence is outside the view
Lastly, regarding performance and quality vs cube maps: dual-paraboloid
is potentially faster because you’re only rendering two shadow maps
instead of six, but also potentially worse quality because you have
fewer texels overall (unless you increase the size of your shadow map
textures to compensate), and due to issues with the nonlinear projection
(you can get artifacts if your scene isn’t highly tesselated enough).
Ease of implementation is probably similar for both.
Thanks for the quick reply Reedbeta,
I understand the problem it solves is only present for point lights, I
was just curious as to whether it was theoretically possible (even if
pointless,) to implement it for directional/spotlights.
On the note of the frustum culling, I’ll definitely take another look
because my initial thought was the same. Chances are I’ve just messed up
in configuring something or other.
And last, thanks for the explanation. I understand that two shadow maps
compared to six would probably result in a performance increase, but I
wanted to be sure given that there are potentially different things
needed which would change the expected performance (I haven’t looked at
any math or code regarding either yet, just the theories.)
Again thanks for the quick reply!
Sorry for the double post,
I’m wondering if there is any good tutorials or examples of dual
paraboloid mapping specifically for use in omnidirectional light shadows
for NVIDIA Cg? I’ve been searching for an example or a tutorial and I’ve
found some papers and discussions about the theory behind the method
however most of the samples I have found are using HLSL and tend to do
what seems to be a very general overview of the math and the components
required to set it up.
If someone could point me to what I am looking for, or even something
that breaks down the math theory step-by-step instead of just offering a
general overview so that I can apply the knowledge myself in Cg shaders,
that would be great..