Mystery Shader linking error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
PyGL3Display |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Here's the traceback:
C:\Documents and Settings\
Traceback (most recent call last):
File "criticalMass.py", line 169, in <module>
main()
File "criticalMass.py", line 151, in main
x = Level(10, (400,400))
File "criticalMass.py", line 123, in __init__
self.ballImg = LoadImage(
File "..\PyGL3Displa
return cls.Surfaceify(
File "..\PyGL3Displa
Surface.
File "..\PyGL3Displa
manager = SpriteCommon.
File "..\PyGL3Displa
shader=
File "..\PyGL3Displa
cls.
File "..\PyGL3Displa
cls.
File "..\PyGL3Displa
fragmentPro
File "..\PyGL3Displa
super(
File "..\PyGL3Displa
**kwargs)
File "..\PyGL3Displa
self.setup()
File "..\PyGL3Displa
GLCommon.
File "..\PyGL3Displa
glUseProgra
File "C:\Python26\
return self( *args, **named )
File "C:\Python26\
baseOperation = baseOperation,
OpenGL.
err = 1282,
description = 'invalid operation',
cArguments = (5L,)
)
Exception AttributeError: "'PygameSurface' object has no attribute 'atlas'" in <bound method PygameSurface.
All of the demos seem to have the same issue for me :(
Windows XP, Python2.6, Pygame 1.9, PyOpenGL 3.0.1
ATi Radeon X800 PRO/GTO
Catalyst version 10.2
Thanks!
description: | updated |
summary: |
- GLError and Pygame Surface AttributeError + GLError and PygameSurface AttributeError |
summary: |
- GLError and PygameSurface AttributeError + Mystery GLError |
summary: |
- Mystery GLError + Mystery Shader not linking error |
summary: |
- Mystery Shader not linking error + Mystery Shader linking error |
OK, the second of the errors is irrelevant; the error is happening during an init, preventing all of the attributes of that object from being instantiated. Then the GLError causes the program to crash and call the __del__ method, which is assuming init completed.
I'm not entirely certain what's going on. At a guess (and it really is a guess), I suspect that the shader isn't linking properly - but this should raise an error. Or at least that's what I thought...
Anyways, I've got a fair bit on my plate at the moment, but when I get a chance I'll see if I can upload something which will specifically detect if this is the case.