• Kees van Kooten's avatar
    OptiX Integration into VTK · 7423d33a
    Kees van Kooten authored
    Initial version of the integration of the NVIDIA gpu-based raytracing
    library OptiX into VTK. This enables ray-traced visualization of opaque
    geometries - transparent geometries or volume rendering is not supported.
    Supported are: meshes, spheres and cylinders, with any kind of coloring
    option including 1D lut or 2D texture mapping.
    
    The implementation adds new renderer, renderpass, polydatamapper, camera,
    actor, light and window nodes, which replace standard OpenGL rendering
    with their ray-traced counterparts, responsible for maintaining rendering
    resources and launching the necessary jobs on the gpu. It also adds the
    corresponding OptiX CUDA source (in the /CUDA subdir) and the necessary
    tests (in the /Testing subdir).
    
    To use the module you must use a recent cmake and have OptiX and CUDA
    installed. The code was initially developed with version 4+ (OptiX)
    and 8+ (CUDA). When building, enable vtkModuleRenderingOptiX and set the
    OptiX install directory. Also, it is possible to manually set
    CUDA_NVCC_ARCH to change the shader model used for compiling OptiX.
    
    After building the module, ray-traced rendering can be enabled for any
    given existing renderer using:
    
    vtkSmartPointer optix = vtkSmartPointer::New();
    renderer->SetPass(optix);
    
    The following rendering-specific features are supported: shadows
    (use vtkRenderer::SetUseShadows()), ambient occlusion and
    multi-sampling (use the static functions in vtkOptiXRenderer).
    7423d33a
FindOptiX.cmake 6.64 KB