41 const float3& color_diffuse,
42 const float3& color_specular,
43 const float spec_coeff,
44 const float mat_opacity = 1.0f)
115 Ray(
const float3& in_origin,
116 const float3& in_direction,
117 const float3& in_direction_rec)
121 Ray(
const float3& in_origin,
122 const float3& in_direction)
172 template<Filter TEX_filter_mode = Filter::NEAREST>
173 float4
sample(
const float2& uv_coordinate)
const;
220 float4
sample(
const float2& uv_coordinate)
const;
223 float4
sample_offset(
const float2& uv_coordinate,
const int2& offset)
const;
237 float4
sample(
const float2& uv_coordinate,
const float sample_distance)
const;
Bounding box data structure.
Definition: xac_interface_scene_elements_doc.h:88
const float3 & get_max() const
Get the bounding box maximum coordinate.
const float3 & get_min() const
Get the bounding box minimum coordinate.
Bounding_box(const float3 &in_min, const float3 &in_max)
Bounding box defined by a min and a max value in 3D.
Definition: xac_interface_scene_elements_doc.h:91
bool is_inside(const float3 &position) const
Check if a given position is within the bounding box.
Generic camera struct.
Definition: xac_interface_scene_elements_doc.h:67
const float3 & get_right() const
Get the right direction vector (with respect to screen space)
const float3 & get_position() const
Get the camera position.
const float3 & get_to() const
Get the view direction vector of the camera.
const float3 & get_up() const
Get the upward pointing vector.
Colormap.
Definition: xac_interface_scene_elements_doc.h:139
float4 lookup(float value) const
Perform a RGBA color value lookup for a given scalar value.
float get_domain_min() const
Get the domain range minimum of the colormap.
float get_domain_max() const
Get the domain range maximum of the colormap.
float normalize_to_domain(const float value) const
Normalize a given scalar value to the domain range value of the colormap.
float lookup_alpha(float value) const
Perform only an alpha value lookup for a given scalar value.
Texture tile level of detail (LOD) computation.
Definition: xac_interface_scene_elements_doc.h:233
float4 sample(const float2 &uv_coordinate, const float sample_distance) const
Sample the compute texture at a given u,v coordinate and at a given sample distance.
Texture tile computation base.
Definition: xac_interface_scene_elements_doc.h:181
xac::Colormap get_colormap() const
Retrieve the colormap for the current compute texture tile.
float2 get_extent() const
Get extents of current texture tile in scene space coordinates.
float2 get_maximum_uv_coordinate() const
Get current maximum coordinate in u,v space coordinates.
float2 transform_uv_to_tile_inverse(float2 tile_position) const
Transform a given texture coordinate into u,v space coordinates.
float2 transform_uv_to_tile(float2 uv_position) const
Transform a given u,v space coordinate into texture coordinates.
bool is_valid() const
Check if the compute texture tile is valid.
float2 get_minimum_uv_coordinate() const
Get current minimum coordinate in u,v space coordinates.
uint2 get_tile_resolution() const
Retrieve the resolution of the compute texture tile.
uint get_format() const
Get the format identifer for the compute texture.
Texture tile computation.
Definition: xac_interface_scene_elements_doc.h:216
float4 sample_offset(const float2 &uv_coordinate, const int2 &offset) const
Sample the compute texture at an offset of the given u,v coordinate.
float4 sample(const float2 &uv_coordinate) const
Sample the compute texture at a given u,v coordinate.
float4 sample_non_normalized(const float2 &tile_coordinate) const
Sample the compute texture at a given texture tile coordinate.
Cone.
Definition: xac_interface_scene_elements_doc.h:456
bool is_capped() const
Check if the bottom surface of the cone are active.
bool is_valid() const
Check if the properties of the current shape are valid.
uint get_material_id() const
Retrieve associated scene material id.
float get_distance(const float3 &scene_position) const
Compute the signed distance to the boundary surface for a given position in scene space coordinates.
uint get_light_id() const
Retrieve associated scene light id.
bool is_inside(const float3 &world_position) const
Check if a given position in scene space coordinates is inside the boundary surface.
const float3 & get_top() const
Get the top position of the cone in scene space coordinates.
Sample_info_surface Base_info_type
Declaration of the surface type.
Definition: xac_interface_scene_elements_doc.h:459
float get_radius() const
Get the scene space radius of the cylinder.
const float3 & get_bottom() const
Get the bottom position of the cone in scene space coordinates.
Cylinder.
Definition: xac_interface_scene_elements_doc.h:419
const float3 & get_top() const
Get the top position of the cylinder in scene space coordinates.
const float3 & get_bottom() const
Get the bottom position of the cylinder in scene space coordinates.
bool is_valid() const
Check if the properties of the current shape are valid.
float get_distance(const float3 &scene_position) const
Compute the signed distance to the boundary surface for a given position in scene space coordinates.
bool is_capped() const
Check if the cap surfaces of the cylinder are active.
uint get_light_id() const
Retrieve associated scene light id.
Sample_info_surface Base_info_type
Declaration of the surface type info.
Definition: xac_interface_scene_elements_doc.h:422
bool is_inside(const float3 &world_position) const
Check if a given position in scene space coordinates is inside the boundary surface.
float get_radius() const
Get the scene space radius of the cylinder.
uint get_material_id() const
Retrieve associated material light id.
Ellipsoid.
Definition: xac_interface_scene_elements_doc.h:345
uint get_light_id() const
Retrieve associated scene light id.
bool is_inside(const float3 &scene_position) const
Check if a given position in scene space coordinates is inside the ellipsoid.
Sample_info_surface Base_info_type
Declaration of the surface type info.
Definition: xac_interface_scene_elements_doc.h:348
bool is_valid() const
Check if the properties of the current shape are valid.
const float3 get_semi_axis_a() const
Get the semi axis a of the ellipsoid.
uint get_material_id() const
Retrieve associated scene material id.
const Mat3x3f & get_world_to_axis_transform_inverse() const
Get the inverse axis transformation matrix for the ellipsoid.
const float3 & get_center() const
Get the ellipsoid center position in scene space coordinates.
const Mat3x3f & get_world_to_axis_transform() const
Get the axis transformation matrix for the ellipsoid.
float get_distance(const float3 &scene_position) const
Compute the signed distance to the ellipsoid boundary surface.
const float3 get_semi_axis_b() const
Get the semi axis b of the ellipsoid.
const float3 get_semi_axis_c() const
Get the semi axis c of the ellipsoid.
Height field.
Definition: xac_interface_scene_elements_doc.h:274
float3 transform_scene_to_sample_inverse(const float2 &sample_pos) const
Transform a given sample position into the scene space of the height field.
bool is_hole(float height) const
Returns whether the given height value is a hole in the heightfield.
uint get_material_id() const
Retrieve associated scene material id.
float3 get_normal(const float3 &scene_position) const
Retrieve the normal from the precomputed normal texture in heightfield uniforms for a given position ...
bool is_inside(const float3 &sample_position) const
Check if a given sample position is within the height field bounding box.
const nv::index::cuda::Mat4x4f & get_scene_to_object_transform() const
Get the transformation matrix from scene space to object space coordinates.
xac::Colormap get_colormap() const
Get the colormap associated to the height field.
xac::Colormap get_colormap_compute_texture() const
Get the colormap associated to the compute texture of the height field.
uint get_light_id() const
Retrieve associated scene light id.
const nv::index::cuda::Mat4x4f & get_scene_to_object_transform_inverse() const
Get the inverse transformation matrix from scene space to object space coordinates.
float2 get_elevation_minmax_interval() const
Get the height extents (minimum, maximum height) of the height field.
Sample_info_height_field Base_info_type
Declaration of the height field type info.
Definition: xac_interface_scene_elements_doc.h:277
bool has_compute_texture() const
Check if the height field has an attached compute texture.
float2 transform_scene_to_sample(const float3 &scene_pos) const
Transform a given scene position into the sampling space of the height field.
xac::Compute_texture_tile get_compute_texture() const
Retrieve the compute texture associated to the current height field.
float get_elevation_value(float px, float py, float &hf_u, float &hf_v) const
Interpolate height value from heightfield uniforms (px,py are assumed to be given in scene space coor...
Height field - level-of-detail (LOD) calculation.
Definition: xac_interface_scene_elements_doc.h:329
uint get_material_id() const
Retrieve associated scene material id.
Sample_info_height_field Base_info_type
Declaration of the height field type info.
Definition: xac_interface_scene_elements_doc.h:332
uint get_light_id() const
Retrieve associated scene light id.
Generic directional light struct.
Definition: xac_interface_scene_elements_doc.h:19
const float3 & get_direction() const
Get the direction of the light.
const float3 & get_direction_inverse() const
Get the inverse light direction.
const float3 & get_color() const
Get the color of the light.
Generic phong material struct.
Definition: xac_interface_scene_elements_doc.h:36
const float3 & get_specular() const
Get the specular component of the material.
float get_shininess() const
Get the shininess parameter of the Phong meterial.
const float3 & get_ambient() const
Get the ambient component of the material.
Material_phong(const float3 &color_ambient, const float3 &color_diffuse, const float3 &color_specular, const float spec_coeff, const float mat_opacity=1.0f)
Constructor using predefined material parameters.
Definition: xac_interface_scene_elements_doc.h:40
const float3 & get_diffuse() const
Get the diffuse component of the material.
float get_opacity() const
Get the opacity value of the material.
Plane.
Definition: xac_interface_scene_elements_doc.h:493
xac::Colormap get_colormap_compute_texture() const
Get the colormap associated to the compute texture.
Sample_info_plane Base_info_type
Declaration of the plane type.
Definition: xac_interface_scene_elements_doc.h:496
uint get_light_id() const
Retrieve associated scene light id.
uint get_material_id() const
Retrieve associated scene material id.
const float3 & get_right() const
Get the plane right vector.
bool is_valid() const
Check if the properties of the current shape are valid.
const float3 & get_normal() const
Get the plane normal vector.
const float3 & get_position() const
Get the plane origin position in scene space coordinates.
xac::Compute_texture_tile get_compute_texture() const
Retrieve the compute texture associated to the plane.
const float2 & get_extent() const
Get the spatial extent of the plane in scene space coordinates.
const float3 & get_up() const
Get the plane upward pointing vector.
float get_distance(const float3 &scene_position) const
Compute the signed distance to the boundary surface for a given position in scene space coordinates.
xac::Compute_texture_LOD_tile get_compute_texture_LOD() const
Retrieve the level of detail (LOD) compute texture associated to the plane.
bool has_compute_LOD_texture() const
Check if the plane has an associated level of detail (LOD) compute texture.
bool has_compute_texture() const
Check if the plane has an associated compute texture.
xac::Colormap get_colormap() const
Get the associated colormap.
Ray data structure.
Definition: xac_interface_scene_elements_doc.h:112
const float3 & get_direction_reciprocal() const
Get the ray reciprocal direction vector.
Ray(const float3 &in_origin, const float3 &in_direction)
Constructor computing the reciprocal direction.
Definition: xac_interface_scene_elements_doc.h:121
const float3 & get_origin() const
Get the ray origin position.
const float3 & get_direction() const
Get the ray direction vector.
Ray(const float3 &in_origin, const float3 &in_direction, const float3 &in_direction_rec)
Default constructor.
Definition: xac_interface_scene_elements_doc.h:115
Sphere.
Definition: xac_interface_scene_elements_doc.h:388
bool is_inside(const float3 &scene_position) const
Check if a given position in scene space coordinates is inside the boundary surface.
float get_radius() const
Get the scene space radius of the sphere.
float get_distance(const float3 &scene_position) const
Compute the signed distance to the boundary surface for a given position in scene space coordinates.
Sample_info_surface Base_info_type
Declaration of the surface type info.
Definition: xac_interface_scene_elements_doc.h:391
uint get_light_id() const
Retrieve associated scene light id.
bool is_valid() const
Check if the properties of the current shape are valid.
const float3 & get_center() const
Get the sphere center position in scene space coordinates.
uint get_material_id() const
Retrieve associated scene material id.
2D Texture base representation
Definition: xac_interface_scene_elements_doc.h:161
float4 sample(const float2 &uv_coordinate) const
Sample the RGBA entry of the texture at a specific u,v coordinate.
Filter
Filter type used with the Texture (nearest, linear)
Definition: xac_interface_scene_elements_doc.h:166
Triangle mesh.
Definition: xac_interface_scene_elements_doc.h:243
const float3 & get_vertex_normal(uint index) const
Get the normal value of a vertex by its index.
uint get_material_id(uint material_idx=0u) const
Get the associated scene Phong material identifier by its index (multiple materials are possible for ...
const float4 & get_vertex_color(uint index) const
Get the color value for a vertex by its index.
const float2 & get_vertex_texture_coordinate(uint index) const
Get the texture coordinate of a vertex by its index.
xac::Texture2D get_texture() const
Get the associated texture object associated to the triangle mesh.
uint get_light_id() const
Get the associated scene light identifier.
const float3 & get_vertex_position(uint index) const
Get the position of a vertex by its index.
Sample_info_surface Base_info_type
Declaration of the triangle mesh type info.
Definition: xac_interface_scene_elements_doc.h:246
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349
Sample information for height fields surfaces.
Definition: xac_interface_sample_info_doc.h:52
Sample information for planes.
Definition: xac_interface_sample_info_doc.h:106
Sample information for surfaces.
Definition: xac_interface_sample_info_doc.h:41