Tut-Shadow-Mapping-Basic.py hangs process in dev snapshot


This shadow tutorial supplied with Panda 1.7.2 uses the shader generator to implement a shadowmap:


In Panda 1.7.2 this worked for me, at least with one of the settings of light position (‘L’ key) (or maybe both settings – my notes are incomplete), and except that one of the texture insets was always white (which I suspect was a bug, but don’t know).

Bug report:

In a recent Panda development snapshot (from about Sep. 24th), using the sample code from 1.7.2 (since no new sample code was installed by the dev snapshot installer), the same example hangs the process on startup, with no error message. (The window has a title bar but has all-white contents and can’t be dragged. The only way to stop the process is with Force Quit.)

(I can’t find my notes about exactly which development snapshot I installed, but the file modtimes are all early morning Sep 24th 2011. BTW is there any way to ask Panda itself which exact snapshot build it is?)

The other shadow tutorial samples work or fail in the same way in this snapshot as in 1.7.2. (The Advanced example essentially works fully, in both builds, though it is using shadow-nosupport.sha rather than shadow.sha (at least in this build – I didn’t test that in 1.7.2).)

I have a recent Mac Mini running MacOS 10.7.2, with a GPU reported as “AMD Radeon HD 6630M 256 MB”.

If the relevant code has been changed since Sep 24th, and if this bug is not reproducible by a developer, I can install a newer snapshot and see if it’s still a bug. I can also try adding print statements to find the code which actually hangs, if that would help.

Here is a smaller example which hangs my Mac Mini in the same way: the code in [Lighting and shadows error), with Application().run() added at the end. That code makes one light of each type and makes the spotlight a shadow caster.

Playing with it a bit, it runs fine if any or all lights are shown but none of them are shadow casters. It hangs if either the directional light or spotlight is a shadow caster. The other kinds of lights don’t support shadow casting. (The ambient light has no setShadowCaster method, and the PointLight has one which does nothing, at least in this test.)