I tried the easy way of generating shadows, by using the automated shader generation. The generator as such works, as long as no shadow caster is present. When I set a light (even a simple spotlight) to a shadow caster, I get errors like this one:
:display:gsg:glgsg(error): at 384 of panda/src/glstuff/glShaderContext_src.cxx : GL error 1282
:display:gsg:glgsg(error): Could not load Cg fragment program:created-shader (arbfp1 line 67748976, char 2297339584: error:
From the shadow tutorials only the advanced one will run, the basic one gives similar errors as the above (and the no-shader shadow tut tells me that my hardware does not support the shadow extensions, but when I remove the check it still runs through software emulation - yeah, i’m developing on a low-end machine right now)
Any heads up will be much appreciated.
This seems like a serious problem with your video card drivers. Have you tried installing the latest version of them? Can you tell us more about your video card?
I do know to have a Ati Radeon 9600, I have not much control over the system (Ubuntu 10.4), it’s just the machine I was given to work on.
some system info:
01:00.0 VGA compatible controller : ATI Technologies Inc RV350 AR [Radeon 9600]
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: DRI R300 Project
I guess the generated shader makes use of “tex2Dproj” as does the shadow.sha in the advanced shadow tutorial?
When I force the tutorial program to use that shader (instead of the no-support one) I get the same error as mentioned above.
I will have to learn shader writing anyway, but I hoped for a quick way for now.
For the record, this tex2Dproj call:
Is equivalent to this tex2D call:
tex2D(tex, coords.xy / coords.w)
fyi: I tried doing that:
from pandac.PandaModules import loadPrcFileData
loadPrcFileData("", "basic-shaders-only #t")
with #t and #f, still the same errors.