[vtkusers] Updated vtkOpenGLOffscreenRenderWindow

John Shalf jshalf at lbl.gov
Wed Nov 22 18:47:38 EST 2000


The vtkOpenGLOffscreenRenderWindow offers a means to draw 3D graphics
using hardware acceleration without requiring a window (and is also a
mouthfull of a name).  After many suggestions and fixes from Alexandru
Telea and Randy Heiland (who fixed the vtkTexture problem), I've finally
gotten around to updating the code to incorporate these fixes.  It is
now available from the usual websites

    http://zeus.ncsa.uiuc.edu/~jshalf/VTK/vtkOffScreen
    http://infinite-entropy.lbl.gov:/VTK/vtkOffScreen

And also from anonymous CVS via cvs.cactuscode.org.  CVS is the
preferred way to get this software.  To use it, you do

    1) Login
 cvs -d :pserver:cvs_anon at cvs.cactuscode.org:/packages login
    the password is "anon"

    2) Checkout
  cvs -d :pserver:cvs_anon at cvs.cactuscode.org:/packages co -d
vtkOffScreen VTK/vtkOffScreen

    3) Update (if you want to get the latest version).
    cd vtkOffScreen
    cvs update

Here are some of the changes/fixes that were made so far
    1) Make texturemaps work correctly by incorporating Randy Heiland's
changes (vtkOpenGLOffscreenTexture).
    2) fixed SetRGBAPixelData() to have the "int blend=0" arg to match
vtk3.1 prototype.
    3) Fixed the WriteImage() to work correctly for a wider variety of
display types.  You can always use the vtkTiffWriter(), but using the
integrated writers will be a bit faster since they can more directly
access the framebuffer.
    4) Fixed the fbGetPixels so that it will understand GL_RGB
framebuffer read requests and do things the faster way using
glPixelStorei(GL_PACK_ALIGNMENT,...) etc.
    5) Got rid of variable declarations in for() statements (now declare
variables external to the loops).  This is so satisfy SGI users who
don't know about -LANG:ansi-for-init-scope=ON
    6) Use array delete[] instead of delete to match all array new[]'s.

Still looking at
    1) glRasterPos3f() on an O2 requries the last term (z-coord) to be
defined as 0 rather than the usual -1 to work.  This is a pretty
perplexing problem.
    2) Grand Unification (taking guts of the Win32 offscreen renderer
and the OSMesa offscreen renderer and combine them to cover all
architectures with a single class).

-john






More information about the vtkusers mailing list