[vtkusers] how to compile VTK for offscreen rendering

Evan Bollig bollig at scs.fsu.edu
Thu Jun 14 13:44:34 EDT 2007


Thanks Kevin, thats exactly what we found to work yesterday. I was
hoping there was still a way to get vtk to render on screen in the
same installation, but it seems its either on or off, not both
anymore.

-Evan

On 6/14/07, Kevin H. Hobbs <hobbsk at ohiou.edu> wrote:
> On Wed, 2007-06-13 at 12:55 -0400, Evan Bollig wrote:
> > Can anyone give me precise instructions for compiling VTK 5.0.3 in
> > offscreen rendering mode. I have followed my own instructions for
> > mangling mesa and compiling the package but I get erronous results.
> > For starters, volume rendering does not work, contours do not work,
> > and my rendered results (jpegs) are only half complete (half the image
> > is missing).
> >
> > Id like to compare notes with someone to know that Im compiling VTK correctly.
> >
> > Let me know,
> > -Evan
> >
>
> Can I assume you're using linux and GCC?
>
> Do you really need to mangled mesa? It is only for combining Mesa with
> another (hardware accelerated) libGL that cannot do offscreen rendering
> in the same copy of VTK. I hear the name mangling in mesa does not work
> from time to time. I've never made it work.
>
> What works is to use pure Mesa.
>
> Build Mesa.
> Tell CMake where to find Mesa.
> Build VTK.
> Tell VTK to use offscreen rendering in your program.
>
> I just build Mesa with:
> make linux-x86-64
>
> To tell CMake where to find Mesa I have these lines, edited to get rid
> of non Mesa stuff, in my .bash_profile:
> MESA=~/Mesa-6.4.2
> CMAKE_LIBRARY_PATH=$MESA/lib64:$CMAKE_LIBRARY_PATH
> export CMAKE_LIBRARY_PATH
> CMAKE_INCLUDE_PATH=$MESA/include
> export CMAKE_INCLUDE_PATH
>
> When I build VTK I set the options for Mesa in my CMake script:
> VTK_OPENGL_HAS_OSMESA:BOOL=ON
> I do not set VTK_USE_OFFSCREEN because it just causes trouble. CMake
> finds libGL.so from Mesa because of the paths I set above:
> [kevin at gargon ~]$ grep Mesa-6.4.2 kitware/VTK_Build_Mesa/CMakeCache.txt
> OPENGL_INCLUDE_DIR:PATH=/home/kevin/Mesa-6.4.2/include
> OPENGL_gl_LIBRARY:FILEPATH=/home/kevin/Mesa-6.4.2/lib64/libGL.so
> OPENGL_glu_LIBRARY:FILEPATH=/home/kevin/Mesa-6.4.2/lib64/libGLU.so
> OPENGL_xmesa_INCLUDE_DIR:PATH=/home/kevin/Mesa-6.4.2/include
> OSMESA_INCLUDE_DIR:PATH=/home/kevin/Mesa-6.4.2/include
> OSMESA_LIBRARY:FILEPATH=/home/kevin/Mesa-6.4.2/lib64/libOSMesa.so
> .
> .
> .
>
> When I build my program I tell VTK to use offscreen classes with these
> lines at the top of my program, you also have to include their headers.
>
> #include "vtkGraphicsFactory.h"
> #include "vtkImagingFactory.h"
>
> int main( int argc, char * argv[] )
> {
>         // Graphics Factory
>         vtkGraphicsFactory * graphics_factory
>                 = vtkGraphicsFactory::New();
>         graphics_factory->SetOffScreenOnlyMode( 1);
>         graphics_factory->SetUseMesaClasses( 1 );
>
>         // Imaging Factory
>         vtkImagingFactory * imaging_factory
>                 = vtkImagingFactory::New();
>         imaging_factory->SetUseMesaClasses( 1 );
>
>
>
>
>
>


-- 
-Evan Bollig
bollig at gmail.com
bollig at scs.fsu.edu



More information about the vtkusers mailing list