makeTextureBuffer failing (glxdisplay(error): BadMatch)

Hi there.
I’ve been using Panda for a short while now and everything has gone smoothly. It’s a pleasure to work with so a big thanks to the developers :smiley:.

I was looking at implementing a glow effect to signify that a certain actor in my game is selected - i.e some sort of gentle blue glow around the character. The glow filter demo appeared to be a good place to start, but upon running that particular demo I got the following error:

  File "Tut-Glow-Filter.py", line 150, in ?
    t=GlowDemo()
  File "Tut-Glow-Filter.py", line 93, in __init__
    glowBuffer.setSort(-3)
AttributeError: 'NoneType' object has no attribute 'setSort'

I looked at the code in the demo and saw that the culprit line is

glowBuffer = base.win.makeTextureBuffer(...)

It seems that any demo using these buffers fails. To isolate the problem I tried re-implementing the makeTextureBuffer function using calls to makeGsg and makeBuffer. base.graphicsEngine.makeBuffer returns None, but also provides the following debug output:

:display:glxdisplay(error): BadMatch (invalid parameter attributes)
:display:gsg:glgsg(warning): Unable to query GL_VENDOR
:display:gsg:glgsg(warning): Unable to query GL_RENDERER
:display:glxdisplay(error): BadMatch (invalid parameter attributes)

I’m running an Nvidia 6600 under SuSE Linux 10.0 (installed the latest Panda through the RPM on the website). Haven’t had a problem playing Quake3 & 4 under Linux, if that helps.
What’s going wrong?

There are, unfortunately, a few bugs in the current release of Panda vis-a-vis makeTextureBuffer(), which we are in the process of working out now. It works well on some driver/card combinations, and not at all on others.

David

I see. That’s quite unfortunate. Are there other documented methods for creating other such effects? If not I think this problem severely limits the engine :frowning:

Hi Cerulean! As posted before i have the same problem as you…I think its a compatibility problem with Nvidia Cards…

I have a GeForce 7900GT and have the same problem with the shaders…

I hope they fix this little issue in the next release… or maybe with a patch?

We will be fixing it soon. In the meantime, you can try putting the following in your Config.prc file:

support-render-texture 0

David

No such luck drwr. The demo errors out exactly the same, though thanks for your suggestion.
It wouldn’t be possible to get an estimate as to the release date of a fixed future release by any chance, would it?

Hmm, how would you feel about downloading the Panda source from CVS and building it yourself? I’d be curious to know if the latest version on the trunk solves this problem for you.

David

I have no objection. Getting right onto it now.

I’ve built Panda3D but have ran into a few problems running any Panda examples. I’ve posted a new topic in the source compilation section.

CVS seems to be working. The Asteroid and Roaming Ralph examples and ran just fine.

When I run the glow filter example, I get the following error:

Traceback (most recent call last):
  File "Tut-Glow-Filter.py", line 150, in ?
    t=GlowDemo()
  File "Tut-Glow-Filter.py", line 91, in __init__
    glowBuffer=makeTextureBuffer("Glow scene", 512, 512)
  File "Tut-Glow-Filter.py", line 17, in makeTextureBuffer
    myGsg = base.graphicsEngine.makeGsg(base.pipe)
AttributeError: 'libpanda.GraphicsEngine' object has no attribute 'makeGsg'