NVIDIA IndeX API nvidia_logo_transpbg.gif Up
iparticle_volume_rendering_properties.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright 2023 NVIDIA Corporation. All rights reserved.
3 *****************************************************************************/
6
7#ifndef NVIDIA_INDEX_IPARTICLE_VOLUME_RENDERING_PROPERTIES_H
8#define NVIDIA_INDEX_IPARTICLE_VOLUME_RENDERING_PROPERTIES_H
9
10#include <mi/dice.h>
11
12#include <nv/index/iattribute.h>
13
14namespace nv {
15namespace index {
16
22{
32
33 PARTICLE_VOLUME_RENDERING_MODE_COUNT
34};
35
43{
44 PARTICLE_VOLUME_RBF_FALLOFF_CONSTANT = 0x00,
45 PARTICLE_VOLUME_RBF_FALLOFF_LINEAR,
46 PARTICLE_VOLUME_RBF_FALLOFF_HERMITE,
47 PARTICLE_VOLUME_RBF_FALLOFF_SPLINE,
48
49 PARTICLE_VOLUME_RBF_FALLOFF_COUNT
50};
51
57 public mi::base::Interface_declare<0x82869c9e,0x96a,0x4e86,0x9f,0xde,0x40,0xa8,0x62,0xcd,0xa0,0xa1,
58 nv::index::IAttribute>
59{
60public:
67 virtual void set_sampling_distance(mi::Float32 sample_dist) = 0;
69 virtual mi::Float32 get_sampling_distance() const = 0;
70
77 virtual void set_reference_sampling_distance(mi::Float32 ref_sample_dist) = 0;
79 virtual mi::Float32 get_reference_sampling_distance() const = 0;
80
85 virtual void set_rendering_mode(Particle_volume_rendering_mode rendering_mode) = 0;
88
89
97
105 virtual void set_override_fixed_radius(mi::Float32 override_radius) = 0;
107 virtual mi::Float32 get_override_fixed_radius() const = 0;
108
113 virtual void set_use_optix_sphere_primitives(bool use_optix_spheres) = 0;
115 virtual bool get_use_optix_sphere_primitives() const = 0;
116
119 virtual void set_debug_visualization_option(mi::Uint32 o) = 0;
122 virtual mi::Uint32 get_debug_visualization_option() const = 0;
123};
124
125} // namespace index
126} // namespace nv
127
128#endif // NVIDIA_INDEX_IPARTICLE_VOLUME_RENDERING_PROPERTIES_H
The interface class representing rendering properties for particle volume data.
Definition: iparticle_volume_rendering_properties.h:59
virtual bool get_use_optix_sphere_primitives() const =0
Returns whether the mode to use OptiX native spheres primitives for rendering is set.
virtual void set_debug_visualization_option(mi::Uint32 o)=0
Internal debugging options applied to the visualization.
virtual mi::Float32 get_override_fixed_radius() const =0
Returns the override radius applied to a particle volume scene element (Iparticle_volume_scene_elemen...
virtual void set_use_optix_sphere_primitives(bool use_optix_spheres)=0
Set the mode to use OptiX native spheres primitives for rendering.
virtual void set_reference_sampling_distance(mi::Float32 ref_sample_dist)=0
Set the reference sampling distance used for a particle volume scene element (Iparticle_volume_scene_...
virtual void set_rbf_falloff_kernel(Particle_volume_RBF_falloff_kernel falloff_kernel)=0
Set the radial basis-function falloff kernel applied for the direct volume rendering mode.
virtual mi::Uint32 get_debug_visualization_option() const =0
Internal debugging options applied to the visualization.
virtual void set_sampling_distance(mi::Float32 sample_dist)=0
Set the sampling distance used for a particle volume scene element (Iparticle_volume_scene_element) w...
virtual mi::Float32 get_sampling_distance() const =0
Returns the sampling distance used for a particle volume scene element (Iparticle_volume_scene_elemen...
virtual mi::Float32 get_reference_sampling_distance() const =0
Returns the reference sampling distance used for a particle volume scene element (Iparticle_volume_sc...
virtual Particle_volume_rendering_mode get_rendering_mode() const =0
Returns the rendering mode used for rendering a particle volume scene element (Iparticle_volume_scene...
virtual Particle_volume_RBF_falloff_kernel get_rbf_falloff_kernel() const =0
Returns the falloff kernel function applied for the radial basis function rendering (RBF) mode.
virtual void set_override_fixed_radius(mi::Float32 override_radius)=0
Set a override radius used as a fixed radius for all particles in the dataset.
virtual void set_rendering_mode(Particle_volume_rendering_mode rendering_mode)=0
Set rendering mode used for the visualization of a particle volume scene element (Iparticle_volume_sc...
Particle_volume_rendering_mode
Available rendering modes for particle volume elements.
Definition: iparticle_volume_rendering_properties.h:22
Particle_volume_RBF_falloff_kernel
Available radial basis-functions for the direct volume rendering mode of particle volume primitives.
Definition: iparticle_volume_rendering_properties.h:43
@ PARTICLE_VOLUME_RENDERING_MODE_SOLID_INDIVIDUAL
Render particles as solid geometries, where the shape is selected by a second uint8-typed attribute (...
Definition: iparticle_volume_rendering_properties.h:29
@ PARTICLE_VOLUME_RENDERING_MODE_SOLID_CYLINDER
Render particles as solid geometries (cylinders)
Definition: iparticle_volume_rendering_properties.h:26
@ PARTICLE_VOLUME_RENDERING_MODE_SOLID_BOX
Render particles as solid geometries (boxes)
Definition: iparticle_volume_rendering_properties.h:24
@ PARTICLE_VOLUME_RENDERING_MODE_SOLID_CONE
Render particles as solid geometries (cones)
Definition: iparticle_volume_rendering_properties.h:25
@ PARTICLE_VOLUME_RENDERING_MODE_RBF
Direct volume rendering using radial basis functions (RBF) (see Particle_volume_RBF_falloff_kernel)
Definition: iparticle_volume_rendering_properties.h:23
@ PARTICLE_VOLUME_RENDERING_MODE_SOLID_SPHERE
Render particles as solid geometries (spheres)
Definition: iparticle_volume_rendering_properties.h:27
@ PARTICLE_VOLUME_RENDERING_MODE_SOLID_DISC
Render particles as solid geometries (discs)
Definition: iparticle_volume_rendering_properties.h:28
Base class representing attributes that can be defined in a scene description.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349