OpenGL / Performer Video Texture mapping.

New Message Reply Date view Thread view Subject view Author view

Hilmi Ortadeveci (hilmi++at++demeern.sgi.com)
Fri, 1 Aug 1997 11:15:16 +0200 (MEST)


To use video-texture mapping under OpenGL you have to setup
a GLX VIDEO SOURCE.
This is done using the function: 'glXCreateGLXVideoSourceSGIX()'
and then Select it into the current context of the OpenGL rendering
thread using: 'glXMakeCurrentReadSGI()'

When I use Performer the same trick work's only the texture settup is
done using Performer instead of OpenGL function's.

So far so good.

If Performer uses an Overlay-window then after every context switch the
current read source of it's MAIN OpenGL context (main window) has
changed !!!.
This problem is solved using glXMakeCurrentReadSGI() after every
pfSelectWin().

Now I have tested my setup on 2 ONYX's, a Reality Engine and a VTX.
And on my Max-Impact (with double buffering for textures.)
Everything work's UNTIL I use seperare CULL and DRAW processing.

As long as Performer put's the CULL and DRAW in the same process
the current Readsource remain's as I have set it it.
When CULL and DRAW are different processes after each frame, Performer
looses the current READ source and I have to call:
 glXMakeCurrentReadSGI() every frame.

THIS is too slow for realtime-performance (50/60 HZ).

My question:
How does it loose it's read source ?

Another question:
  What are the constraint's on:
  glHint(GL_TEXTURE_MULTI_BUFFER_HINT_SGIX,GL_FASTEST);

It seems to crash the entire system if I use the glBindTextureEXT() on
another texture then the 2 created for video texturing or if I use
glPushAttrib() / glPopAttrib() followd by a glDisable(GL_TEXTURE_2D)

Thx!

Hilmi
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
            Submissions: info-performer++at++sgi.com
        Admin. requests: info-performer-request++at++sgi.com


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:55:42 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.