NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Miscellaneous

Miscellaneous scene graph elements, for example, textures, light profiles, BSDF measurements, or decals. More...

Classes

class   mi::IAttribute_container
  An attribute container is a database element that stores attributes and no other data. More...
 
class   mi::IBsdf_isotropic_data
  Abstract interface for isotropic BSDF data. More...
 
class   mi::IBsdf_buffer
  Abstract interface for a buffer of BSDF values. More...
 
class   mi::IBsdf_measurement
  A scene element that stores measured BSDF data. More...
 
class   mi::IDecal
  Decals are sticker-like objects that can be applied to other geometry objects. More...
 
class   mi::IImage
  This interface represents a pixel image file. More...
 
class   mi::IIrradiance_probes
  Irradiance probes are used to render the irradiance at certain locations in the scene. More...
 
class   mi::ILightprofile
  This interface represents light profiles. More...
 
class   mi::ITexture
  Textures add image processing options to images. More...
 

Enumerations

enum   mi::Bsdf_type {
  mi::BSDF_SCALAR = 0,
  mi::BSDF_RGB = 1
}
  The BSDF type. More...
 
enum   mi::Decal_face_mode {
  mi::DECAL_ON_FRONT_FACE,
  mi::DECAL_ON_BACK_FACE
}
  This enum controls whether the decal is applied on the front or back face of the object. More...
 
enum   mi::Lightprofile_flags {
  mi::LIGHTPROFILE_CLOCKWISE = 1,
  mi::LIGHTPROFILE_COUNTER_CLOCKWISE = 2,
  mi::LIGHTPROFILE_ROTATE_TYPE_B = 4,
  mi::LIGHTPROFILE_ROTATE_TYPE_C_90_270 = 8
}
  Ordering of horizontal angles in a light profile. More...
 
enum   mi::Lightprofile_degree {
  mi::LIGHTPROFILE_HERMITE_BASE_1 = 1,
  mi::LIGHTPROFILE_HERMITE_BASE_3 = 3
}
  Degree of hermite interpolation. More...
 
enum   mi::Texture_flag {
  mi::TEXTURE_DO_TRANSFORM = 4,
  mi::TEXTURE_DO_REPEAT = 8,
  mi::TEXTURE_DO_CROP = 16,
  mi::TEXTURE_TORUS_X = 32,
  mi::TEXTURE_TORUS_Y = 64,
  mi::TEXTURE_TORUS_Z = 128,
  mi::TEXTURE_ALT_X = 256,
  mi::TEXTURE_ALT_Y = 512,
  mi::TEXTURE_ALT_Z = 1024
}
  Various texture flags. More...
 
enum   mi::Texture_compression {
  mi::TEXTURE_NO_COMPRESSION = 0,
  mi::TEXTURE_MEDIUM_COMPRESSION = 1,
  mi::TEXTURE_HIGH_COMPRESSION = 2
}
  Texture compression method. More...
 
enum   mi::Filter_type {
  mi::FILTER_BOX = 0,
  mi::FILTER_TRIANGLE = 1,
  mi::FILTER_GAUSS = 2,
  mi::FILTER_CMITCHELL = 3,
  mi::FILTER_CLANCZOS = 4,
  mi::FILTER_FAST = 5
}
  Supported filter types. More...
 

Detailed Description

Miscellaneous scene graph elements, for example, textures, light profiles, BSDF measurements, or decals.

Enumeration Type Documentation

The BSDF type.

Enumerator
BSDF_SCALAR 

One scalar per grid value.

BSDF_RGB 

Three scalars (RGB) per grid value.

This enum controls whether the decal is applied on the front or back face of the object.

The front face of an object is the face whose angle between the implied face normal and the projector direction is larger than 90 degrees. The other face is the back face. If there is no projector then the front face is defined by the orientation of the object primitives.

Note that for materials that are not thin-walled the decal is never shown on the face with the higher density (in addition to the restrictions imposed by the value of this enum).

See Also
mi::IDecal::get_face_mode(), mi::IDecal::set_face_mode()
Enumerator
DECAL_ON_FRONT_FACE 

The decal is only applied on the front face of the object.

DECAL_ON_BACK_FACE 

The decal is only applied on the back face of the object.

Supported filter types.

The filter type (or filter kernel) specifies how multiple samples are to be combined into a single pixel value.

See Also
mi::ITexture::get_flags()
mi::ITexture::set_flags()
Enumerator
FILTER_BOX 

box filter

FILTER_TRIANGLE 

triangle filter

FILTER_GAUSS 

Gaussian filter.

FILTER_CMITCHELL 

clipped Mitchell filter

FILTER_CLANCZOS 

clipped Lanczos filter

FILTER_FAST 

a fast filter, could be GPU anti-aliasing, or any

Degree of hermite interpolation.

Currently only linear (hermite 1) and cubic (hermite 3) degree are supported (see also [DH05]).

See Also
mi::ILightprofile::reset_file(), mi::ILightprofile::get_degree()
Enumerator
LIGHTPROFILE_HERMITE_BASE_1 

Degree 1 = linear interpolation.

LIGHTPROFILE_HERMITE_BASE_3 

Degree 3 = cubic interpolation.

Ordering of horizontal angles in a light profile.

The flags can be used to override the horizontal sample order in an IES file [IES02]. There are two IES file types in common use, type B and type C. The IES standard defines that samples are stored in counter-clockwise order. Type C files conform to this standard, but about 30% of the type B files deviate from the standard and store samples in clockwise order, without giving any indication in the IES file that could be used to switch the order. (Sometimes there is an informal comment.) Type A IES files are not supported.

See Also
mi::ILightprofile::reset_file(), mi::ILightprofile::get_flags()
Enumerator
LIGHTPROFILE_CLOCKWISE 

Clockwise order, contrary to the IES standard for these (incorrect) type B files.

LIGHTPROFILE_COUNTER_CLOCKWISE 

Counter-clockwise, standard-conforming order (default).

LIGHTPROFILE_ROTATE_TYPE_B 

For 3dsmax.

LIGHTPROFILE_ROTATE_TYPE_C_90_270 

For 3dsmax.

Texture compression method.

Enumerator
TEXTURE_NO_COMPRESSION 

no compression

TEXTURE_MEDIUM_COMPRESSION 

medium compression ratio

TEXTURE_HIGH_COMPRESSION 

high compression ratio

Various texture flags.

The values of these flags are powers of two. That is, the flags can be combined into a bitmask of flags, e.g., TEXTURE_DO_TRANSFORM | TEXTURE_DO_REPEAT.

Note that some flags cannot be set without setting others, too. For example, setting TEXTURE_ALT_X will set TEXTURE_TORUS_X as well. Likewise for TEXTURE_ALT_Y and TEXTURE_ALT_Z.

See Also
mi::ITexture::get_flags()
mi::ITexture::set_flags()
Enumerator
TEXTURE_DO_TRANSFORM 

enable transform, not ident

TEXTURE_DO_REPEAT 

enable repetition

TEXTURE_DO_CROP 

enable cropping

TEXTURE_TORUS_X 

enable X torus

TEXTURE_TORUS_Y 

enable Y torus

TEXTURE_TORUS_Z 

enable Z torus

TEXTURE_ALT_X 

enable X flipping

TEXTURE_ALT_Y 

enable Y flipping

TEXTURE_ALT_Z 

enable Z flipping