neuray API Programmer's Manual

mi::neuraylib Namespace Reference

[Neuray API]

Description

Namespace for the neuray API.

Namespaces

namespace mi::neuraylib::detail

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 
The Allocator interface class supports allocating and releasing memory dynamically and querying the amount of extra memory used in the integrating application. More...
class 
An attribute container is a database element that stores attributes and no other data. More...
class 
The attribute set comprises all attributes attached to a database element. More...
class 
Interface representing an attribute vector for triangle meshes, polygon meshes, and subdivision surfaces. 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 simple buffer with binary data. More...
class 
The camera defines the viewpoint from which the scene is rendered. 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 
Abstract interface for a canvas that represents an OpenGL buffer. More...
class 
A filter used to decide if a command string to start a child process is eligible for execution. More...
class 
Abstract interface for signaling changed cluster members. More...
class 
This interface describes a cluster and its properties. More...
class 
A filter used to decide whether a cluster is eligible to be joined. More...
class 
Represents a cluster which was reserved through the cluster manager. More...
class 
An API component which can be used to create a connection to a cluster manager. More...
class 
Represents a connection to a cluster manager. More...
class 
Provides information about a node which is part of a node pool or reserved cluster. More...
class 
Abstract interface for giving notifications about errors and status changes. More...
class 
Represents a pool of nodes managed though the cluster manager. More...
class 
Abstract interface for signaling changed cluster properties. More...
class 
A curve used by freeform surfaces. More...
class 
A curve segment used by freeform surfaces. More...
class 
This interface is used to interact with the distributed database. More...
class 
This interface is used to query and change the database configuration. More...
class 
This interface represents an interface to set debug options. More...
class 
Decals are sticker-like objects that can be applied to other geometry objects. More...
class 
Source for deserializing objects from byte streams. More...
class 
The dictionary is a data structure that stores a mapping from a fixed set of keys to a their modifiable values. More...
class 
This interface is used to export files. More...
class 
This interface represents the result of an export operation. More...
class 
This interface represents the result of an export operation. More...
class 
Abstract interface for exporters. More...
class 
This interface is used to extent the neuray API. More...
class 
This API component allows the creation, assignment, and cloning of instances of types. More...
class 
Interface representing a freeform surface. More...
class 
Base class for functors. More...
class 
This interface is used to query and change the general configuration. More...
class 
Functor to simplify a triangle mesh. More...
class 
This interface describes a GPU. More...
class 
A group is a container for other scene elements. More...
class 
Abstract interface for signaling a change of the cluster application head node. More...
class 
Abstract interface to report cluster status changes. More...
class 
This interface contains information about a local or remote host. More...
class 
This interface represents a pixel image file. More...
class 
This interface provides various utilities related to canvases and buffers. More...
class 
Abstract interface for image files. More...
class 
Abstract interface for image plugins. More...
class 
Abstract base interface common for importers and exporters. More...
class 
This interface represents states that are passed to recursive calls of importers and exporters. More...
class 
This interface is used to import files. More...
class 
This interface represents the result of an import operation. More...
class 
This interface represents the result of an import operation. More...
class 
Abstract interface for importers. More...
class 
An instance is a scene element that adds a transformation and attributes to another scene element. More...
class 
Irradiance probes are used to render the irradiance at certain locations in the scene. More...
class 
This interface is used for authenticating the application against the library. More...
class 
Point, spot, directional and area lighting. More...
class 
This interface represents light profiles. More...
class 
This interface is used for configuring the logging for the . More...
class 
This interface represents the return value of mi::neuraylib::IRendering_configuration::check_light_path_expressions(). More...
class 
This interface represents a compiled material. More...
class 
Factory for MDL interfaces, e.g., modules with presets. More...
class 
This interface represents a function call. More...
class 
This interfaces represents a function definition. More...
class 
This interfaces represents a material definition. More...
class 
This interface represents a material instance. More...
class 
This interfaces represents an MDL module. More...
class 
This interface is used to query and change the networking configuration. More...
class 
This interface is used to inquire statistics about the network usage etc. More...
class 
This is an object representing the . More...
class 
The node manager client allows to start or join clusters built from worker nodes. More...
class 
The interface to a cluster created and managed by the node manager. More...
class 
Factory to create node manager client and worker instances. More...
class 
The node manager worker class allows to set properties and announce them to other nodes. More...
class 
Interface representing an on-demand mesh. More...
class 
Abstract interface for callbacks used by on-demand meshes. More...
class 
A scene element that stores scene-specific settings. More...
class 
This interface represents the return value of a pick operation. More...
class 
This interface represents a single object hit by a pick operation. More...
class 
The basic interface to be implemented by neuray API plugins. More...
class 
This abstract interface gives access to the neuray API to plugins. More...
class 
This interface is used to load plugins and to query information about loaded plugins. More...
class 
Describes a plugin. More...
class 
A connectivity class for polygon mesh geometry and their attributes. More...
class 
Interface representing a polygon mesh. More...
class 
Abstract interface to report progress of a long-running operation back to the caller. More...
class 
An API component which can be used to create a connection to a queue manager. More...
class 
Represents a connection to a queue manager server. More...
class 
A reader supports binary block reads and string-oriented line reads that zero-terminate the result. More...
class 
Base interface for readers and writers. More...
class 
Abstract interface to report completion of an asynchronous operation back to the caller. More...
class 
This interface is used for doing actual rendering and picking. More...
class 
Performance counters for render modes. More...
class 
Abstract interface for a render target. More...
class 
Abstract interface for a render target (base class). More...
class 
Abstract interface for a render target which is specialized for rendering to an OpenGL buffer. More...
class 
This interface is used to query and change the rendering configuration. More...
class 
The scene is the top-level element describing a subset of DB elements to be rendered. More...
class 
Common base interface for all scene elements. More...
class 
This interface is used to query and change the scheduling configuration. More...
class 
A scope is the context which determines the visibility of database elements. More...
class 
All serializable objects have to be derived from this interface. More...
class 
Target for serializing objects to byte streams. More...
class 
Abstract interface for signaling a request to shutdown a cluster. More...
class 
Abstract interface for signaling a request to shutdown all clients and workers. More...
class 
Interface representing the geometry of on-demand meshes. More...
class 
Represents a software package installed on the pool of nodes. More...
class 
Represents the position in a data stream. More...
class 
Interface representing a subdivision surface. More...
class 
A surface of a freeform surface. More...
class 
Functor to tessellate a polygon mesh into a triangle mesh. More...
class 
Textures add image processing options to images. More...
class 
A texture surface associated with freeform surfaces. More...
class 
Abstract interface for a tile. More...
class 
This is an abstract interface class for a timer. More...
class 
The registration of a timer class requires a factory which constructs an instance during deserialization. More...
class 
This class is used to start and stop timers. More...
class 
A transaction provides a consistent view on the database. More...
class 
A connectivity class for triangle mesh geometry and their attributes. More...
class 
Interface representing a triangle mesh. More...
class 
Abstract interface for user-defined classes. More...
class 
Abstract interface for user class factories. More...
class 
A buffer for video data representing a frame. More...
class 
Abstract interface for video decoders. More...
class 
Abstract interface for video encoders. More...
class 
Abstract interface for video encoder plugins. More...
class 
Functor to weld a triangle mesh. More...
class 
Abstract interface for signaling changed cluster members. More...
class 
This interface describes a worker node and its properties. More...
class 
A filter used to decide whether a worker node is eligible to be included in a cluster. More...
class 
Abstract interface for signaling changed worker node properties. More...
class 
Abstract interface for indicating that a worker process has been fully started. More...
class 
A writer supports binary block writes and string-oriented line writes that accept a zero-terminated string as argument. More...
class 
Handle class for type-safety. More...
struct 
Handle class for type-safety. More...
class 
A wrapper around the interfaces for MDL material instances and function calls. More...
class 
A wrapper around the interfaces for MDL material and function definitions. More...
class 
A tag represents a unique identifier for database elements in the database. More...
struct 
A tag represents a unique identifier for database elements in the database. More...
class 
This mixin class provides a default implementation of the mi::neuraylib::ITimer_class_factory interface. More...
class 
A triangle defined by three point indices, starting at index 0. More...
struct 
A triangle defined by three point indices, starting at index 0. More...
class 
This mixin class should be used to implement the IUser_class interface. More...
class 
This mixin class provides a default implementation of the IUser_class_factory interface. More...

Typedefs

typedef Identifier< HND_CURVE> 
Handle for curve More...
typedef Identifier_struct< HND_CURVE> 
Handle for curves More...
typedef Identifier< HND_CURVE_SEGMENT> 
Handle for curve segments More...
typedef Identifier_struct< HND_CURVE_SEGMENT> 
Handle for curve segments More...
typedef Identifier< HND_POLY> 
Handle for polygons More...
typedef Identifier_struct< HND_POLY> 
Handle for polygons More...
typedef Identifier< HND_SURFACE> 
Handle for surfaces More...
typedef Identifier_struct< HND_SURFACE> 
Handle for surfaces More...
typedef Identifier< HND_TEXTURE_SURFACE> 
Handle for texture surfaces More...
typedef Identifier_struct< HND_TEXTURE_SURFACE> 
Handle for texture surfaces More...
typedef Identifier< HND_TRIANGLE> 
Handle for triangles More...
typedef Identifier_struct< HND_TRIANGLE> 
Handle for triangles More...

Enumerations

enum  {BASIS_BEZIER = 0, BASIS_BSPLINE = 1, BASIS_TYPE_FORCE_32_BIT = 0xffffffffU }
Different basis types that are supported by freeform surfaces. More...
enum  {BSDF_SCALAR = 0, BSDF_RGB = 1, BSDF_TYPES_FORCE_32_BIT = 0xffffffffU }
The BSDF type. More...
enum  {CONNECTIVITY_MAP_GENERIC, CONNECTIVITY_FORCE_32_BIT = 0xffffffffU }
Symbolic constants for different connectivity types. More...
enum  {TRIM_CURVE = 0, HOLE_CURVE = 1, CURVE_TYPE_FORCE_32_BIT = 0xffffffffU }
Different curve types that are supported by freeform surfaces. More...
enum  {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  {ELEMENT_TYPE_INSTANCE = 0, ELEMENT_TYPE_GROUP = 1, ELEMENT_TYPE_OPTIONS = 2, ELEMENT_TYPE_CAMERA = 3, ELEMENT_TYPE_LIGHT = 4, ELEMENT_TYPE_LIGHTPROFILE = 5, ELEMENT_TYPE_MATERIAL = 6, ELEMENT_TYPE_TEXTURE = 7, ELEMENT_TYPE_IMAGE = 8, ELEMENT_TYPE_SHADER = 9, ELEMENT_TYPE_TRIANGLE_MESH = 10, ELEMENT_TYPE_ATTRIBUTE_CONTAINER = 16, ELEMENT_TYPE_POLYGON_MESH = 18, ELEMENT_TYPE_SHADER_CLASS = 19, ELEMENT_TYPE_SUBDIVISION_SURFACE = 23, ELEMENT_TYPE_FREEFORM_SURFACE = 24, ELEMENT_TYPE_SHADER_GRAPH_CLASS = 26, ELEMENT_TYPE_SHADER_GRAPH = 27, ELEMENT_TYPE_COMPOUND_SHADER_CLASS = 28, ELEMENT_TYPE_MDL_MODULE = 29, ELEMENT_TYPE_MDL_FUNCTION_DEFINITION = 30, ELEMENT_TYPE_MDL_FUNCTION_CALL = 31, ELEMENT_TYPE_MDL_MATERIAL_DEFINITION = 32, ELEMENT_TYPE_MDL_MATERIAL_INSTANCE = 33, ELEMENT_TYPE_MDL_COMPILED_MATERIAL = 34, ELEMENT_TYPE_BSDF_MEASUREMENT = 35, ELEMENT_TYPE_IRRADIANCE_PROBES = 36, ELEMENT_TYPE_DECAL = 37, ELEMENT_TYPE_ON_DEMAND_MESH = 38, ELEMENT_TYPE_FORCE_32_BIT = 0xffffffffU }
Distinguishes scene elements. More...
enum  {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  {HND_TRIANGLE, HND_POLY, HND_SURFACE, HND_CURVE, HND_CURVE_SEGMENT, HND_TEXTURE_SURFACE, HND_SCENE_GRAPH_VERSION, HND_SCENE_GRAPH_NODE, HND_SCENE_GRAPH_OBJECT_NODE, HND_SCENE_GRAPH_LIGHT_NODE, HND_SCENE_GRAPH_MESH, HND_SCENE_GRAPH_MATERIAL, HND_SCENE_GRAPH_DECAL_NODE }
Various handle types. More...
enum  {IMPEXP_PRIORITY_OVERRIDE = 4, IMPEXP_PRIORITY_WELL_DEFINED = 3, IMPEXP_PRIORITY_AMBIGUOUS = 2, IMPEXP_PRIORITY_GUESS = 1, IMPEXP_PRIORITY_FORCE_32_BIT = 0xffffffffU }
Confidence in capabilities of an importer or exporter. More...
enum  {AREA_NONE = 0, AREA_RECTANGLE = 1, AREA_DISC = 2, AREA_SPHERE = 3, AREA_CYLINDER = 4, N_AREA_TYPES, AREA_FORCE_32_BIT = 0xffffffffU }
Supported area light shapes. More...
enum  {LIGHT_POINT = 0, LIGHT_INFINITE = 2, N_LIGHT_TYPES, LIGHT_FORCE_32_BIT = 0xffffffffU }
Supported light types. More...
enum  {LIGHTPROFILE_HERMITE_BASE_1 = 1, LIGHTPROFILE_HERMITE_BASE_3 = 3, LIGHTPROFILE_DEGREE_FORCE_32_BIT = 0xffffffffU }
Degree of hermite interpolation. More...
enum  {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  {LOG_PREFIX_TIME = 0x0001, LOG_PREFIX_TIME_SECONDS = 0x0002, LOG_PREFIX_HOST_THREAD = 0x0004, LOG_PREFIX_HOST_NAME = 0x0008, LOG_PREFIX_MODULE = 0x0010, LOG_PREFIX_CATEGORY = 0x0020, LOG_PREFIX_SEVERITY = 0x0040, LOG_PREFIX_FORCE_32_BIT = 0xffffffffU }
Components of the log message prefix. More...
enum  {SLOT_THIN_WALLED, SLOT_SURFACE_SCATTERING, SLOT_SURFACE_EMISSION_EDF_EMISSION, SLOT_SURFACE_EMISSION_INTENSITY, SLOT_BACKFACE_SCATTERING, SLOT_BACKFACE_EMISSION_EDF_EMISSION, SLOT_BACKFACE_EMISSION_INTENSITY, SLOT_IOR, SLOT_VOLUME_SCATTERING, SLOT_VOLUME_ABSORPTION_COEFFICIENT, SLOT_VOLUME_SCATTERING_COEFFICIENT, SLOT_GEOMETRY_DISPLACEMENT, SLOT_GEOMETRY_CUTOUT_OPACITY, SLOT_GEOMETRY_NORMAL, SLOT_FORCE_32_BIT = 0xffffffffU }
Material slots identify parts of a material. More...
enum  {ATTR_NONE = 0, ATTR_NORMAL = 1, ATTR_MOTION = 2, ATTR_DERIVATIVES = 3, ATTR_MATERIAL_INDEX = 4, ATTR_TEXTURE = 6, ATTR_TEXTURE_NUM = 256, ATTR_MAX = ATTR_TEXTURE+ATTR_TEXTURE_NUM, ATTR_FORCE_32_BIT = 0xffffffffU }
Symbolic constants for mesh attributes. More...
enum  {DIMENSION_U = 0, DIMENSION_V = 1, DIMENSION_FORCE_32_BIT = 0xffffffffU }
Distinguishes the two dimensions of the parameter space of freeform surfaces. More...
enum  {PROPAGATION_STANDARD, PROPAGATION_OVERRIDE, PROPAGATION_FORCE_32_BIT = 0xffffffffU }
Propagation types for attribute inheritance. More...
enum  {TEXTURE_NO_COMPRESSION = 0, TEXTURE_MEDIUM_COMPRESSION = 1, TEXTURE_HIGH_COMPRESSION = 2, TEXTURE_COMPRESSION_FORCE_32_BIT = 0xffffffffU }
Texture compression method. More...
enum  {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...
enum  {SCALING, ROTATION, TRANSLATION, MATRIX, TRANSFORMATION_TYPE_FORCE_32_BIT = 0xffffffffU }
The four different types of elementary transformations. More...
enum  {SMOOTH_VERTEX = 0, CORNER_VERTEX = 1, VERTEX_FEATURE_FORCE_32_BIT = 0xffffffffU }
Vertex features. More...

Functions

bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is not equal to rhs. More...
bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is less than rhs. More...
bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is less than or equal to rhs. More...
bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is equal to rhs. More...
bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is greater than rhs. More...
bool   ( const Tag& lhs, const Tag& rhs)
Returns true if lhs is greater than or equal to rhs. More...

Variables

const Tag 
This value of the tag represents an invalid tag which can not be accessed. More...