Interface to define a query for ray sampling the scene's contents.
More...
#include <isampling_rays.h>
Inherits mi::base::Interface_declare< 0xd2f21a06, ... >.
|
struct | Ray |
| Ray to be sampled. Defined in world space and restricted by a range for the t-parameter. More...
|
|
|
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 Ray * | get_ray (mi::Uint32 index) const =0 |
| Selcting a single ray from the bunch of rays. More...
|
|
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.
◆ 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] | index | Get 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] | num | Set 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] | rays | World space rays, up to get_limit(MAX_RAYS). |
[in] | nb_rays | Number 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: