neuray API Programmer's Manual

Miscellaneous

[Scene elements]

Description

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

Classes

class 
Example implementation of the abstract interface mi::neuraylib::IBsdf_buffer. More...
class 
Example implementation of the abstract interface mi::neuraylib::IBsdf_isotropic_data. More...
class 
An attribute container is a database element that stores attributes and no other data. More...
class 
Abstract interface for a buffer of BSDF values. More...
class 
Abstract interface for isotropic BSDF data. More...
class 
A scene element that stores measured BSDF data. More...
class 
Abstract interface for a canvas represented by a rectangular array of tiles. More...
class 
Abstract interface for a canvas (base class). More...
class 
Decals are sticker-like objects that can be applied to other geometry objects. More...
class 
This interface represents a pixel image file. More...
class 
Irradiance probes are used to render the irradiance at certain locations in the scene. More...
class 
This interface represents light profiles. More...
class 
Textures add image processing options to images. More...
class 
Abstract interface for a tile. More...

Enumerations

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

Enums

enum mi::neuraylib::Bsdf_type

The BSDF type.

Enumerator:

BSDF_SCALAR = 0
One scalar per grid value.
BSDF_RGB = 1
Three scalars (RGB) per grid value.
BSDF_TYPES_FORCE_32_BIT = 0xffffffffU
enum mi::neuraylib::Decal_face_mode

This enum controls whether the decal is applied on the front face, back face, or both faces 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::neuraylib::IDecal::get_face_mode(), mi::neuraylib::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.
DECAL_ON_FRONT_AND_BACK_FACE
The decal is applied on the front and on the back face of the object.
DECAL_FACE_MODE_FORCE_32_BIT = 0xffffffffU
enum mi::neuraylib::Filter_type

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::neuraylib::ITexture::get_flags()

mi::neuraylib::ITexture::set_flags()

Enumerator:

FILTER_BOX = 0
box filter
FILTER_TRIANGLE = 1
triangle filter
FILTER_GAUSS = 2
Gaussian filter.
FILTER_CMITCHELL = 3
clipped Mitchell filter
FILTER_CLANCZOS = 4
clipped Lanczos filter
FILTER_FAST = 5
a fast filter, could be GPU anti-aliasing, or any
FILTER_FORCE_32_BIT = 0xffffffffU
enum mi::neuraylib::Lightprofile_degree

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

See also:

mi::neuraylib::ILightprofile::reset_file(), mi::neuraylib::ILightprofile::get_degree()

Enumerator:

LIGHTPROFILE_HERMITE_BASE_1 = 1
Degree 1 = linear interpolation.
LIGHTPROFILE_HERMITE_BASE_3 = 3
Degree 3 = cubic interpolation.
LIGHTPROFILE_DEGREE_FORCE_32_BIT = 0xffffffffU
enum mi::neuraylib::Lightprofile_flags

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::neuraylib::ILightprofile::reset_file(), mi::neuraylib::ILightprofile::get_flags()

Enumerator:

LIGHTPROFILE_CLOCKWISE = 1
Clockwise order, contrary to the IES standard for these (incorrect) type B files.
LIGHTPROFILE_COUNTER_CLOCKWISE = 2
Counter-clockwise, standard-conforming order (default).
LIGHTPROFILE_ROTATE_TYPE_B = 4
For 3dsmax.
LIGHTPROFILE_ROTATE_TYPE_C_90_270 = 8
For 3dsmax.
LIGHTPROFILE_FLAGS_FORCE_32_BIT = 0xffffffffU
enum mi::neuraylib::Texture_compression

Texture compression method.

Enumerator:

TEXTURE_NO_COMPRESSION = 0
no compression
TEXTURE_MEDIUM_COMPRESSION = 1
medium compression ratio
TEXTURE_HIGH_COMPRESSION = 2
high compression ratio
TEXTURE_COMPRESSION_FORCE_32_BIT = 0xffffffffU
enum mi::neuraylib::Texture_flag

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::neuraylib::ITexture::get_flags()

mi::neuraylib::ITexture::set_flags()

Enumerator:

TEXTURE_DO_TRANSFORM = 4
enable transform, not ident
TEXTURE_DO_REPEAT = 8
enable repetition
TEXTURE_DO_CROP = 16
enable cropping
TEXTURE_TORUS_X = 32
enable X torus
TEXTURE_TORUS_Y = 64
enable Y torus
TEXTURE_TORUS_Z = 128
enable Z torus
TEXTURE_ALT_X = 256
enable X flipping
TEXTURE_ALT_Y = 512
enable Y flipping
TEXTURE_ALT_Z = 1024
enable Z flipping
TEXTURE_FLAG_FORCE_32_BIT = 0xffffffffU