NVIDIA IndeX API nvidia_logo_transpbg.gif Up
isparse_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_ISPARSE_VOLUME_RENDERING_PROPERTIES_H
8#define NVIDIA_INDEX_ISPARSE_VOLUME_RENDERING_PROPERTIES_H
9
10#include <mi/dice.h>
11
12#include <nv/index/iattribute.h>
13
14namespace nv {
15namespace index {
16
22{
30};
31
37 public mi::base::Interface_declare<0x718c9406,0x99a7,0x41cc,0xb1,0x48,0xe,0x36,0x8d,0x67,0x85,0x19,
38 nv::index::IAttribute>
39{
40public:
46 virtual void set_sampling_distance(mi::Float32 sample_dist) = 0;
48 virtual mi::Float32 get_sampling_distance() const = 0;
49
56 virtual void set_reference_sampling_distance(mi::Float32 s) = 0;
58 virtual mi::Float32 get_reference_sampling_distance() const = 0;
59
65 virtual void set_voxel_offsets(
66 const mi::math::Vector_struct<mi::Float32, 3>& voxel_offsets) = 0;
68 virtual mi::math::Vector_struct<mi::Float32, 3> get_voxel_offsets() const = 0;
69
75 virtual void set_filter_mode(Sparse_volume_filter_mode filter_mode) = 0;
78
84 virtual void set_lod_rendering_enabled(bool enable_lod_render) = 0;
86 virtual bool get_lod_rendering_enabled() const = 0;
87
94 virtual void set_lod_pixel_threshold(mi::Float32 pixel_threshold) = 0;
96 virtual mi::Float32 get_lod_pixel_threshold() const = 0;
97
98#if 0 // EXTENSION LOD active level range control
106 virtual void set_active_LOD_level_range(
107 const mi::math::Vector_struct<mi::Uint32, 2>& lod_level_range) = 0;
108
113 virtual mi::math::Vector_struct<mi::Uint32, 2> get_active_LOD_level_range() const = 0;
114#endif
115
116
123 virtual void set_preintegrated_volume_rendering(bool enable) = 0;
125 virtual bool get_preintegrated_volume_rendering() const = 0;
126
129 virtual void set_debug_visualization_option(mi::Uint32 o) = 0;
132 virtual mi::Uint32 get_debug_visualization_option() const = 0;
133};
134
135} // namespace index
136} // namespace nv
137
138#endif // NVIDIA_INDEX_ISPARSE_VOLUME_RENDERING_PROPERTIES_H
The interface class representing rendering properties for sparse volume data.
Definition: isparse_volume_rendering_properties.h:39
virtual void set_preintegrated_volume_rendering(bool enable)=0
Enable or disable pre-integrated volume rendering for a sparse volume scene element (ISparse_volume_s...
virtual mi::Uint32 get_debug_visualization_option() const =0
Internal debugging options applied to the visualization.
virtual void set_filter_mode(Sparse_volume_filter_mode filter_mode)=0
Set the volume filter mode for a sparse volume scene element (ISparse_volume_scene_element).
virtual mi::Float32 get_reference_sampling_distance() const =0
Returns the reference sampling distance used for a sparse volume scene element (ISparse_volume_scene_...
virtual bool get_lod_rendering_enabled() const =0
Returns if level-of-detail rendering is enabled or disabled.
virtual void set_sampling_distance(mi::Float32 sample_dist)=0
Set the sampling distance used for a sparse volume scene element (ISparse_volume_scene_element).
virtual void set_reference_sampling_distance(mi::Float32 s)=0
Set the reference sampling distance used for a sparse volume scene element (ISparse_volume_scene_elem...
virtual void set_lod_pixel_threshold(mi::Float32 pixel_threshold)=0
The pixel-threshold allows to control the dynamic level-of-detail selection.
virtual void set_debug_visualization_option(mi::Uint32 o)=0
Internal debugging options applied to the visualization.
virtual Sparse_volume_filter_mode get_filter_mode() const =0
Returns the filter mode used for a sparse volume scene element (ISparse_volume_scene_element).
virtual mi::math::Vector_struct< mi::Float32, 3 > get_voxel_offsets() const =0
Returns the voxel offsets used for a sparse volume scene element (ISparse_volume_scene_element).
virtual mi::Float32 get_lod_pixel_threshold() const =0
Returns the currently set scalar pixel threshold.
virtual void set_lod_rendering_enabled(bool enable_lod_render)=0
Set the mode for the level-of-detail (LOD) rendering for a sparse volume scene element (ISparse_volum...
virtual bool get_preintegrated_volume_rendering() const =0
Returns if the pre-integrated volume rendering is enabled or disabled.
virtual void set_voxel_offsets(const mi::math::Vector_struct< mi::Float32, 3 > &voxel_offsets)=0
Set the voxel offsets used for a sparse volume scene element (ISparse_volume_scene_element).
virtual mi::Float32 get_sampling_distance() const =0
Returns the sampling distance used for a sparse volume scene element (ISparse_volume_scene_element).
Sparse_volume_filter_mode
Filtering modes (interpolation) for sparse volume access.
Definition: isparse_volume_rendering_properties.h:22
@ SPARSE_VOLUME_FILTER_NEAREST
Access a single voxel with nearest filtering (a.k.a. point filtering).
Definition: isparse_volume_rendering_properties.h:23
@ SPARSE_VOLUME_FILTER_TRICUBIC_BSPLINE_PRE
Tricubic B-spline interpolation with pre-classification.
Definition: isparse_volume_rendering_properties.h:29
@ SPARSE_VOLUME_FILTER_TRILINEAR_PRE
Trilinear interpolation with pre-classification.
Definition: isparse_volume_rendering_properties.h:25
@ SPARSE_VOLUME_FILTER_TRICUBIC_BSPLINE_POST
Tricubic B-spline interpolation with post-classification.
Definition: isparse_volume_rendering_properties.h:28
@ SPARSE_VOLUME_FILTER_TRICUBIC_CATMULL_POST
Tricubic Catmull-Rom interpolation with post-classification.
Definition: isparse_volume_rendering_properties.h:26
@ SPARSE_VOLUME_FILTER_TRICUBIC_CATMULL_PRE
Tricubic Catmull-Rom interpolation with pre-classification.
Definition: isparse_volume_rendering_properties.h:27
@ SPARSE_VOLUME_FILTER_TRILINEAR_POST
Trilinear interpolation with post-classification.
Definition: isparse_volume_rendering_properties.h:24
Base class representing attributes that can be defined in a scene description.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349