pssm and soft shadows for the shader generator

Registered by PetHelm

When you apply a custom shader to a node, you brake the shaderGenerator. In some cases this might not be an issue, but when it comes to shadows, your whole scene might be affected by it and so you won't be able to take advantage of the shaderGenerator at all. Panda3d does have standard shadows for some lights. But if people want to use more modern shaders like soft shadows or PSSM, they encounter the above issue. On top of that, because of an issue (bug?) in the shaderGenerator, users can't even use simple shadowing techniques like projected textures, which causes a new shader to be generated each frame and greatly decreases the framerate, usually to non-realtime.

There is a soft shadow sample in the forums:
http://www.panda3d.org/forums/viewtopic.php?t=4337
Another example:
http://www.panda3d.org/forums/viewtopic.php?t=9946

An even better feature would be PSSM shadows:
http://http.developer.nvidia.com/GPUGems3/gpugems3_ch10.html
http://www.panda3d.org/forums/viewtopic.php?t=11235
http://www.panda3d.org/forums/viewtopic.php?t=5943&postdays=0&postorder=asc&start=0 (links are dead)

Panda 2.0 is still a thing of the future, I don't think it's wise to not update the shaderGenerator just because it's going to be deprecated in the future.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Here is the PSSM shadow demo for Panda3d reuploaded: http://members.upcpoczta.pl/m.libera4/RalphShadows.zip
Alernative link: http://www.2shared.com/file/dmTze7_W/RalphShadows.html

Works nicely on 1.8.0 buildbot version.

Only Cg code: http://pastebin.com/raw.php?i=i3ad6i3v

Would probably not be too hard to implement by someone familiar with Panda's source and would be an excellent feature.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.