I am on Windows XP, with my own version of Python 2.5.
I am able to run all tutorials well, except Tut-Glow-Basic.py
The error is:
:express(warning): Filename is incorrect case: /d/panda3D-1.5.4/direct/src/filter/filter-bloomi.sha instead of /d/Panda3D-1.5.4/direct/src/filter/filter-bloomi.
sha
:gobj(error): Could not read shader file: /d/panda3D-1.5.4/direct/src/filter/filter-bloomi.sha
Traceback (most recent call last):
File "D:\Panda3D-1.5.4\samples\Glow-Filter\Tut-Glow-Basic.py", line 113, in <module>
t=GlowDemo()
File "D:\Panda3D-1.5.4\samples\Glow-Filter\Tut-Glow-Basic.py", line 47, in __init__
filterok = self.filters.setBloom(blend=(0,0,0,1), desat=-0.5, intensity=3.0, size="small")
File "D:\Panda3D-1.5.4\direct\src\filter\CommonFilters.py", line 233, in setBloom
return self.reconfigure(fullrebuild, "Bloom")
File "D:\Panda3D-1.5.4\direct\src\filter\CommonFilters.py", line 121, in reconfigure
self.bloom[0].setShader(self.loadShader("filter-bloomi.sha"))
TypeError: NodePath.setShader() argument 1 must be Shader, not NoneType
It is work fine if I use the panda3D python. I would need to use my own version of python as I have quite a number of packages loaded there already.
I looked in CommonFilters.py => CommonFilters.loadShader
It creates the shader path by:
fn = os.path.join(os.path.abspath(os.path.dirname(file)), name)
Then I checked file variable, it is:
d:\panda3D-1.5.4\direct\src\filter\CommonFilters.py
instead of:
D:\Panda3D-1.5.4\direct\src\filter\CommonFilters.py
It is the main cause of the problem. Any idea on how to fix it ?