NVIDIA IndeX API nvidia_logo_transpbg.gif Up
nv::index::IRendering_kernel_program Class Referenceabstract

The interface class representing user-programmable rendering kernel components. More...

#include <irendering_kernel_programs.h>

Inherits mi::base::Interface_declare< 0x4953ee6c, ... >.

Classes

struct  Program_options
 Program options for executing the kernel programs. More...
 

Public Member Functions

virtual void set_program_source (const char *prog_src)=0
 Sets the source code for the rendering kernel program. More...
 
virtual const char * get_program_source () const =0
 Returns the source code for the rendering kernel program. More...
 
virtual void set_program_options (const Program_options &prog_options)=0
 Sets the program options for the rendering kernel program. More...
 
virtual const Program_optionsget_program_options () const =0
 Returns the program options of the rendering kernel program. More...
 

Detailed Description

The interface class representing user-programmable rendering kernel components.

There are two sub-classes from this interface representing rendering kernel programs applied to volumetric primitives, such as regular volumes (IVolume_sample_program), and applied to surface primitives, such as regular heightfields or planes (ISurface_sample_program). These classes act as scene attributes to the particular scene elements.

These programs are not compiled in-place but on each rendering node depending on the encountered GPU-devices and their particular compute capabilities. Failure to compile a rendering kernel program results in an error containing the compile log. In order to indicate such a failure to the user, the primitives the particular program attribute is applied to are rendered in a signal color (deep-pink color).

Note
For best performance of the compiled rendering kernels, methods defined in device code need to be decorated with special qualifiers. The qualifiers required by NVIDIA IndeX are covered by the NV_IDX_DEVICE_INLINE_MEMBER macro. While it is not strictly required to use this macro, it is advised to do so.

Member Function Documentation

 get_program_options()

virtual const Program_options & nv::index::IRendering_kernel_program::get_program_options ( ) const
pure virtual

Returns the program options of the rendering kernel program.

Returns
The currently set program options.

 get_program_source()

virtual const char * nv::index::IRendering_kernel_program::get_program_source ( ) const
pure virtual

Returns the source code for the rendering kernel program.

Returns
String containing the program source code.

 set_program_options()

virtual void nv::index::IRendering_kernel_program::set_program_options ( const Program_options prog_options)
pure virtual

Sets the program options for the rendering kernel program.

Parameters
[in]prog_optionsProgram options to set for the kernel program.

 set_program_source()

virtual void nv::index::IRendering_kernel_program::set_program_source ( const char *  prog_src)
pure virtual

Sets the source code for the rendering kernel program.

Parameters
[in]prog_srcString containing the program source code.

The documentation for this class was generated from the following file: