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

Interface to define a query for ray sampling the scene's contents. More...

#include <isampling_rays.h>

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

Classes

struct  Ray
 Ray to be sampled. Defined in world space and restricted by a range for the t-parameter. More...
 

Public Member Functions

virtual bool is_valid () const =0
 Verifying if the query is valid. More...
 
virtual void set_max_samples (mi::Uint32 num)=0
 Each ray can sample the scene data multiple times. More...
 
virtual mi::Uint32 get_max_samples () const =0
 Each ray can sample the scene data multiple times. More...
 
virtual bool set_rays (const Ray *rays, mi::Uint32 nb_rays)=0
 Set rays to be sampled in this query. More...
 
virtual mi::Uint32 get_nb_rays () const =0
 Many query rays can be launched at a time. More...
 
virtual const Rayget_ray (mi::Uint32 index) const =0
 Selcting a single ray from the bunch of rays. More...
 

Detailed Description

Interface to define a query for ray sampling the scene's contents.

A ray sampling query contains one or more rays, which are used to sample scene elements. When a ray intersects a volume or surface, one ore more samples are taken. The distance of the samples along the ray is defined by the sampling step size (similar to rendering) and by surface intersections. All samples are sorted by distance from the ray origin.

The sampling is based on user defined CUDA programs. By default, the sample color is generated using the CUDA program for rendering. Additional sample values can be generated by providing a CUDA program for ray sampling.

Member Function Documentation

 get_max_samples()

virtual mi::Uint32 nv::index::IRay_sampling_query::get_max_samples ( ) const
pure virtual

Each ray can sample the scene data multiple times.

Returns
Returns the maximum number of samples to be taken per ray.

 get_nb_rays()

virtual mi::Uint32 nv::index::IRay_sampling_query::get_nb_rays ( ) const
pure virtual

Many query rays can be launched at a time.

Returns
Returns number of rays in this query.

 get_ray()

virtual const Ray * nv::index::IRay_sampling_query::get_ray ( mi::Uint32  index) const
pure virtual

Selcting a single ray from the bunch of rays.

Parameters
[in]indexGet the ray for the identified y the given index.
Returns
Returns the requested ray.

 is_valid()

virtual bool nv::index::IRay_sampling_query::is_valid ( ) const
pure virtual

Verifying if the query is valid.

Returns
Returns true if this query is valid.

 set_max_samples()

virtual void nv::index::IRay_sampling_query::set_max_samples ( mi::Uint32  num)
pure virtual

Each ray can sample the scene data multiple times.

Parameters
[in]numSet the maximum number of samples to be taken per ray.

 set_rays()

virtual bool nv::index::IRay_sampling_query::set_rays ( const Ray rays,
mi::Uint32  nb_rays 
)
pure virtual

Set rays to be sampled in this query.

Parameters
[in]raysWorld space rays, up to get_limit(MAX_RAYS).
[in]nb_raysNumber of rays provided, less or equal get_limit(MAX_RAYS).
Returns
Returns false if rays are invalid or too many.

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