HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BRAY_Types.h File Reference
#include "BRAY_API.h"
#include <UT/UT_StringHolder.h>
#include <GT/GT_Types.h>
+ Include dependency graph for BRAY_Types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BRAY_HDALoader
 

Macros

#define ENUM_FLAG(TOKEN)   BRAY_EVENT_##TOKEN = (1 << BRAY_EVENT_##TOKEN##_FLAG)
 
#define PROPERTY_LOOKUP(NAME, STYLE, ENUM)
 
#define ENUM_MAPPER(TYPE, METHOD)
 
#define ENUM_TO_MASK(TOKEN)   TOKEN = (1 << TOKEN##_ENUM)
 
#define INSTANTIATE(VAR, SIZE, IS_ARRAY)
 

Typedefs

using BRAYtime = float
 Consistent representation of time type within BRAY. More...
 
using BRAYmaterialId = int
 Consistent representation for material ids. More...
 

Enumerations

enum  {
  BRAY_EVENT_NEW_FLAG, BRAY_EVENT_DEL_FLAG, BRAY_EVENT_ATTRIB_P_FLAG, BRAY_EVENT_ATTRIB_FLAG,
  BRAY_EVENT_TOPOLOGY_FLAG, BRAY_EVENT_XFORM_FLAG, BRAY_EVENT_CONTENTS_FLAG, BRAY_EVENT_PROPERTIES_FLAG,
  BRAY_EVENT_MATERIAL_FLAG, BRAY_EVENT_TRACESET_FLAG, BRAY_EVENT_MAXFLAGS
}
 
enum  BRAY_EventType {
  BRAY_NO_EVENT = 0, ENUM_FLAG =(NEW), ENUM_FLAG =(NEW), ENUM_FLAG =(NEW),
  ENUM_FLAG =(NEW), ENUM_FLAG =(NEW), ENUM_FLAG =(NEW), ENUM_FLAG =(NEW),
  ENUM_FLAG =(NEW), ENUM_FLAG =(NEW), ENUM_FLAG =(NEW)
}
 Types of events that can be sent as updates to the renderer. More...
 
enum  BRAY_SceneOption {
  BRAY_OPT_RENDERER = 0, BRAY_OPT_VERSION, BRAY_OPT_ENGINE, BRAY_OPT_SAMPLES_PER_PIXEL,
  BRAY_OPT_PATHTRACEDSAMPLES, BRAY_OPT_RAYBIAS, BRAY_OPT_AUTO_RAYBIAS, BRAY_OPT_SCREENDOOR_LIMIT,
  BRAY_OPT_FPS, BRAY_OPT_FRAME, BRAY_OPT_CONVERGENCE_MODE, BRAY_OPT_RR_CUTOFF_DEPTH,
  BRAY_OPT_CONSTRAIN_MAX_ROUGH, BRAY_OPT_SHADING_QUALITY_MULT, BRAY_OPT_IMAGEMODE, BRAY_OPT_PROGRESSIVE_PASSES,
  BRAY_OPT_HD_FOREGROUND, BRAY_OPT_IPR_ENABLE, BRAY_OPT_IPR_INC_RANDOM, BRAY_OPT_IPR_PROXY_DEPTH,
  BRAY_OPT_IPR_RESERVE_THREADS, BRAY_OPT_IPR_INTERACTION, BRAY_OPT_IPR_BUCKETS_FOR_IMAGEFILTER, BRAY_OPT_IPR_TIME_FOR_IMAGEFILTER,
  BRAY_OPT_IPR_PROXY_FOR_IMAGEFILTER, BRAY_OPT_USECACHERATIO, BRAY_OPT_CACHERATIO, BRAY_OPT_CACHESIZE,
  BRAY_OPT_OVERRIDE_OBJECT, BRAY_OPT_OVERRIDE_LIGHTING, BRAY_OPT_DISABLE_LIGHTING, BRAY_OPT_AO_SAMPLES,
  BRAY_OPT_AO_DISTANCE, BRAY_OPT_AO_COLORLIMIT, BRAY_OPT_DEPTHCUE_COLOR, BRAY_OPT_DEPTHCUE_ALPHA,
  BRAY_OPT_DEPTHCUE_Z, BRAY_OPT_LIGHT_SAMPLING_MODE, BRAY_OPT_LIGHT_SAMPLING_QUALITY, BRAY_OPT_COLOR_LIMIT,
  BRAY_OPT_COLOR_LIMIT_INDLINKED, BRAY_OPT_COLOR_LIMIT_INDIRECT, BRAY_OPT_WORKING_COLOR_SPACE, BRAY_OPT_RENDER_CAMERA,
  BRAY_OPT_DICING_CAMERA, BRAY_OPT_OFFSCREEN_QUALITY, BRAY_OPT_DICING_QUALITY_SCALE, BRAY_OPT_IPR_CONTINUOUS_DICING,
  BRAY_OPT_ENABLE_DOF, BRAY_OPT_IMAGE_BLUR, BRAY_OPT_RESOLUTION, BRAY_OPT_BUCKETSIZE,
  BRAY_OPT_BUCKETORDER, BRAY_OPT_IMAGEFILTER, BRAY_OPT_PIXELFILTER, BRAY_OPT_PIXELFILTERSIZE,
  BRAY_OPT_SAMPLEFILTER, BRAY_OPT_PIXELORACLE, BRAY_OPT_USE_BACKGROUND, BRAY_OPT_BACKGROUND_IPRFILTER,
  BRAY_OPT_RANDOMSEED, BRAY_OPT_ABORTMISSINGTEXTURE, BRAY_OPT_ABORTNOGPUDEVICE, BRAY_OPT_EMBREE_SSE,
  BRAY_OPT_EMBREE_QUALITY, BRAY_OPT_EXPORTCOMPONENTS, BRAY_OPT_DIFFUSECOMPONENTS, BRAY_OPT_REFRACTCOMPONENTS,
  BRAY_OPT_VOLUMECOMPONENTS, BRAY_OPT_SSSCOMPONENTS, BRAY_OPT_AUTOHEADLIGHT, BRAY_OPT_DATAWINDOW,
  BRAY_OPT_PIXELASPECT, BRAY_OPT_UNITS, BRAY_OPT_GUIDING_ENABLE, BRAY_OPT_GUIDING_SAMPLES,
  BRAY_OPT_GUIDING_MIS_BIAS, BRAY_OPT_GUIDING_COMPONENTS, BRAY_OPT_GUIDING_PREPITERATIONS, BRAY_OPT_GUIDING_SPATIALFILTER,
  BRAY_OPT_GUIDING_DIRECTIONALFILTER, BRAY_OPT_GUIDING_DETERMINISTIC, BRAY_OPT_GUIDING_CLEARBUFFERS, BRAY_OPT_UVUNWRAP_TYPE,
  BRAY_OPT_UVUNWRAP_INFO, BRAY_OPT_UVUNWRAP_OBJECT_ID, BRAY_OPT_UVUNWRAP_TEXTURE_TILE, BRAY_OPT_UVUNWRAP_PTEX_MIN_RES,
  BRAY_OPT_UVUNWRAP_PTEX_MAX_RES, BRAY_OPT_UVUNWRAP_PTEX_SMALL_PCT, BRAY_OPT_UVUNWRAP_PTEX_REL_SCALE, BRAY_OPT_UVUNWRAP_PTEX_SCALE,
  BRAY_OPT_MAX_SCENE_OPTIONS, BRAY_OPT_INVALID_SCENE = BRAY_OPT_MAX_SCENE_OPTIONS
}
 
enum  BRAY_ObjectProperty {
  BRAY_OBJ_MOTION_BLUR, BRAY_OBJ_SAMPLE_FROM_STAGE, BRAY_OBJ_GEO_VELBLUR, BRAY_OBJ_GEO_SAMPLES,
  BRAY_OBJ_XFORM_SAMPLES, BRAY_OBJ_BLUR_STYLE, BRAY_OBJ_INSTANCE_VELBLUR, BRAY_OBJ_INSTANCE_SAMPLES,
  BRAY_OBJ_DICING_QUALITY, BRAY_OBJ_DICING_FLATNESS, BRAY_OBJ_TRUE_DISPLACE, BRAY_OBJ_SHADING_QUALITY,
  BRAY_OBJ_DICING_DEPTH_MIN, BRAY_OBJ_DICING_DEPTH_MAX, BRAY_OBJ_CUSPANGLE, BRAY_OBJ_DIFFUSE_SAMPLES,
  BRAY_OBJ_REFLECT_SAMPLES, BRAY_OBJ_REFRACT_SAMPLES, BRAY_OBJ_VOLUME_SAMPLES, BRAY_OBJ_SSS_SAMPLES,
  BRAY_OBJ_DIFFUSE_LIMIT, BRAY_OBJ_REFLECT_LIMIT, BRAY_OBJ_REFRACT_LIMIT, BRAY_OBJ_VOLUME_LIMIT,
  BRAY_OBJ_SSS_LIMIT, BRAY_OBJ_DIFFUSE_QUALITY, BRAY_OBJ_REFLECT_QUALITY, BRAY_OBJ_REFRACT_QUALITY,
  BRAY_OBJ_VOLUME_QUALITY, BRAY_OBJ_SSS_QUALITY, BRAY_OBJ_VOLUME_SAMPLING, BRAY_OBJ_VOLUME_STEP_RATE,
  BRAY_OBJ_VOLUME_UNIFORM, BRAY_OBJ_VOLUME_UNIFORM_DENSITY, BRAY_OBJ_VOLUME_UNIFORM_SAMPLES, BRAY_OBJ_VOLUME_VBLUR_SCALE,
  BRAY_OBJ_VOLUME_SAMPLING_CHANNEL, BRAY_OBJ_VOLUME_FILTER_TYPE, BRAY_OBJ_VOLUME_FILTER_WIDTH, BRAY_OBJ_VISIBILITY_MASK,
  BRAY_OBJ_ENABLE_LOFT, BRAY_OBJ_LOFT_PTS_THRESH, BRAY_OBJ_TRACESETS, BRAY_OBJ_LIGHT_CATEGORIES,
  BRAY_OBJ_HOLDOUT_MODE, BRAY_OBJ_POINT_STYLE, BRAY_OBJ_CURVE_STYLE, BRAY_OBJ_CURVE_BASIS,
  BRAY_OBJ_TREAT_AS_LIGHTSOURCE, BRAY_OBJ_IS_LIGHTSOURCE, BRAY_OBJ_VOLLIGHT_IMPORTANCE_GRID_SIZE, BRAY_OBJ_GEOLIGHT_NUM_PERPRIM_CESAMPS,
  BRAY_OBJ_LIGHTSOURCE_SAMPLING_QUALITY, BRAY_OBJ_LIGHTSOURCE_DIFFUSE_SCALE, BRAY_OBJ_LIGHTSOURCE_SPECULAR_SCALE, BRAY_OBJ_IS_PORTAL,
  BRAY_OBJ_PORTAL_DOME_LIGHTS, BRAY_OBJ_SMOOTHP, BRAY_OBJ_CULL_BACKFACE, BRAY_OBJ_HD_RPRIM_ID,
  BRAY_OBJ_RENDER_MASK, BRAY_OBJ_LPE_TAG, BRAY_OBJ_INTERNAL_REFLECT_ENABLE, BRAY_OBJ_LIGHT_SUBSET,
  BRAY_OBJ_DIELECTRIC_PRIORITY, BRAY_OBJ_CAUSTICS_ENABLE, BRAY_OBJ_CAUSTICS_ROUGHNESS_CLAMP, BRAY_OBJ_FAKECAUSTICS_BSDF_ENABLE,
  BRAY_OBJ_FAKECAUSTICS_COLOR, BRAY_OBJ_FAKECAUSTICS_OPACITY, BRAY_OBJ_VARIANCEAA_THRESH, BRAY_OBJ_VARIANCEAA_MIN_SAMPLES,
  BRAY_OBJ_VARIANCEAA_MAX_SAMPLES, BRAY_OBJ_MTLX_IMAGE_WIDTH, BRAY_OBJ_MTLX_IMAGE_BLUR, BRAY_OBJ_UVUNWRAP_LOWRES,
  BRAY_OBJ_UVUNWRAP_CAGE, BRAY_OBJ_UVUNWRAP_HIGHRES, BRAY_OBJ_MAX_PROPERTIES, BRAY_OBJ_INVALID_PROPERTY = BRAY_OBJ_MAX_PROPERTIES
}
 
enum  BRAY_CameraProperty {
  BRAY_CAMERA_FOCAL, BRAY_CAMERA_APERTURE, BRAY_CAMERA_PROJECTION, BRAY_CAMERA_LENSSHADER,
  BRAY_CAMERA_ORTHO_WIDTH, BRAY_CAMERA_CLIP, BRAY_CAMERA_SHUTTER, BRAY_CAMERA_FOCUS_DISTANCE,
  BRAY_CAMERA_FSTOP, BRAY_CAMERA_WINDOW, BRAY_CAMERA_EXPOSURE, BRAY_CAMERA_TINT,
  BRAY_CAMERA_MAX_PROPERTIES, BRAY_CAMERA_INVALID_PROPERTY = BRAY_CAMERA_MAX_PROPERTIES
}
 
enum  BRAY_LightProperty {
  BRAY_LIGHT_ENABLE, BRAY_LIGHT_SHADER, BRAY_LIGHT_AREA_SHAPE, BRAY_LIGHT_NORMALIZE_AREA,
  BRAY_LIGHT_AREA_SIZE, BRAY_LIGHT_ACTIVE_RADIUS, BRAY_LIGHT_POINT_RADIUS, BRAY_LIGHT_SHADOW_COLOR,
  BRAY_LIGHT_SHADOW_DISTANCE, BRAY_LIGHT_SHADOW_FALLOFF, BRAY_LIGHT_SHADOW_FALLOFF_GAMMA, BRAY_LIGHT_MIS_BIAS,
  BRAY_LIGHT_SAMPLING_QUALITY, BRAY_LIGHT_SAMPLING_MODE, BRAY_LIGHT_SHADOW_TRACESET, BRAY_LIGHT_CATEGORY,
  BRAY_LIGHT_HDRI_MAX_ISIZE, BRAY_LIGHT_DISTANT_ANGLE, BRAY_LIGHT_DIFFUSE_SCALE, BRAY_LIGHT_SPECULAR_SCALE,
  BRAY_LIGHT_SINGLE_SIDED, BRAY_LIGHT_RENDER_LIGHT_GEO, BRAY_LIGHT_LIGHT_GEO_CASTS_SHADOW, BRAY_LIGHT_LPE_TAG,
  BRAY_LIGHT_PORTAL_MIS_BIAS, BRAY_LIGHT_ILLUM_BACKGROUND, BRAY_LIGHT_CONTRIBUTIONS, BRAY_LIGHT_CONTRIBUTES_CAUSTIC,
  BRAY_LIGHT_SKY_LIGHT, BRAY_LIGHT_SPREAD, BRAY_LIGHT_MAX_PROPERTIES, BRAY_LIGHT_INVALID_PROPERTY = BRAY_LIGHT_MAX_PROPERTIES
}
 
enum  BRAY_PlaneProperty {
  BRAY_PLANE_FILTER, BRAY_PLANE_SAMPLING, BRAY_PLANE_DITHER, BRAY_PLANE_DEFAULT_VALUE,
  BRAY_PLANE_CRYPTO_ENABLE, BRAY_PLANE_CRYPTO_RANK, BRAY_PLANE_CRYPTO_SIDECAR, BRAY_PLANE_MAX_PROPERTIES,
  BRAY_PLANE_INVALID_PROPERTY = BRAY_PLANE_MAX_PROPERTIES
}
 
enum  BRAY_PropertyType {
  BRAY_SCENE_PROPERTY, BRAY_OBJECT_PROPERTY, BRAY_LIGHT_PROPERTY, BRAY_CAMERA_PROPERTY,
  BRAY_PLANE_PROPERTY, BRAY_MAX_PROPERTY_TYPES, BRAY_INVALID_PROPERTY = BRAY_MAX_PROPERTY_TYPES
}
 
enum  BRAY_OverrideLight { BRAY_OVERRIDE_LIGHT_OFF, BRAY_OVERRIDE_LIGHT_EMISSIVE, BRAY_OVERRIDE_LIGHT_HEADLIGHT, BRAY_OVERRIDE_LIGHT_DOMELIGHT }
 
enum  BRAY_LightType {
  BRAY_LIGHT_POINT, BRAY_LIGHT_SPHERE, BRAY_LIGHT_RECT, BRAY_LIGHT_DISK,
  BRAY_LIGHT_CYLINDER, BRAY_LIGHT_LINE, BRAY_LIGHT_ENVIRONMENT, BRAY_LIGHT_DISTANT,
  BRAY_LIGHT_GEOMETRY, BRAY_LIGHT_UNDEFINED, BRAY_LIGHT_MAX = BRAY_LIGHT_UNDEFINED
}
 
enum  BRAY_RenderStage {
  BRAY_STAGE_INACTIVE, BRAY_STAGE_LOADING, BRAY_STAGE_INITIALIZING, BRAY_STAGE_GUIDING_TRAINING,
  BRAY_STAGE_RENDERING, BRAY_STAGE_CONVERGED, BRAY_STAGE_MAX_TYPES
}
 
enum  BRAY_InteractionType {
  BRAY_INTERACTION_NORMAL, BRAY_INTERACTION_FLIPBOOK, BRAY_INTERACTION_PLAYING, BRAY_INTERACTION_SCRUBBING,
  BRAY_INTERACTION_EDITING, BRAY_INTERACTION_TUMBLING, BRAY_INTERACTION_MAX_TYPES
}
 
enum  BRAY_BucketOrder {
  BRAY_BUCKETORDER_MIDDLE, BRAY_BUCKETORDER_TOP, BRAY_BUCKETORDER_BOTTOM, BRAY_BUCKETORDER_LEFT,
  BRAY_BUCKETORDER_RIGHT, BRAY_BUCKETORDER_MAX
}
 
enum  BRAY_ImageMode { BRAY_IMAGEMODE_PROGRESSIVE, BRAY_IMAGEMODE_BUCKET, BRAY_IMAGEMODE_MAX }
 
enum  BRAY_Projection {
  BRAY_PROJ_ORTHOGRAPHIC, BRAY_PROJ_PERSPECTIVE, BRAY_PROJ_CVEX_SHADER, BRAY_PROJ_MAX,
  BRAY_PROJ_INVALID = BRAY_PROJ_MAX
}
 Projection modes for rendering. More...
 
enum  BRAY_VexRayImport {
  BRAY_RAYIMPORT_P, BRAY_RAYIMPORT_D, BRAY_RAYIMPORT_TIME, BRAY_RAYIMPORT_NEAR,
  BRAY_RAYIMPORT_FAR, BRAY_RAYIMPORT_MASK, BRAY_RAYIMPORT_CONTRIB, BRAY_RAYIMPORT_HIT_ISHIT,
  BRAY_RAYIMPORT_HIT_P, BRAY_RAYIMPORT_HIT_Pz, BRAY_RAYIMPORT_HIT_VELOCITY, BRAY_RAYIMPORT_HIT_MOTION,
  BRAY_RAYIMPORT_HIT_STACK, BRAY_RAYIMPORT_HIT_ELEM, BRAY_RAYIMPORT_HIT_PRIMID, BRAY_RAYIMPORT_HIT_COORD,
  BRAY_RAYIMPORT_HIT_DIST, BRAY_RAYIMPORT_HIT_DPDZ, BRAY_RAYIMPORT_HIT_N, BRAY_RAYIMPORT_HIT_Ng,
  BRAY_RAYIMPORT_HIT_FLAGS, BRAY_RAYIMPORT_HIT_OBJECTID, BRAY_RAYIMPORT_HIT_ISBACKFACE, BRAY_RAYIMPORT_LEVEL,
  BRAY_RAYIMPORT_VOLUME_LEVEL, BRAY_RAYIMPORT_PIXEL_SAMPLES, BRAY_RAYIMPORT_HD_PRIM, BRAY_RAYIMPORT_HD_INST,
  BRAY_RAYIMPORT_NOFAKECAUSTICS, BRAY_RAYIMPORT_CURVE_ATTRIB_P, BRAY_RAYIMPORT_CURVE_ATTRIB_WIDTH, BRAY_RAYIMPORT_CURVE_ATTRIB_TANV,
  BRAY_RAYIMPORT_ISSHADOWRAY, BRAY_RAYIMPORT_CONESPREAD, BRAY_RAYIMPORT_MAX, BRAY_RAYIMPORT_INVALID = BRAY_RAYIMPORT_MAX
}
 
enum  BRAY_LPEPrefix { BRAY_LPEPREFIX_NONE = 0x0000, BRAY_LPEPREFIX_UNOCCLUDED = 0x0001, BRAY_LPEPREFIX_HOLDOUTS = 0x0002 }
 List of known LPE prefixes. More...
 
enum  BRAY_RayVisibilityEnum {
  BRAY_RAY_CAMERA_ENUM, BRAY_RAY_DIFFUSE_ENUM, BRAY_RAY_REFLECT_ENUM, BRAY_RAY_REFRACT_ENUM,
  BRAY_RAY_VOLUME_ENUM, BRAY_RAY_SHADOW_REG_ENUM, BRAY_RAY_SHADOW_BG_ENUM, BRAY_PROXY_CAMERA_ENUM,
  BRAY_PROXY_SHADOW_ENUM, BRAY_GUIDE_CAMERA_ENUM, BRAY_GUIDE_SHADOW_ENUM
}
 
enum  BRAY_RayVisibility : uint16 {
  BRAY_RAY_NONE = 0, ENUM_TO_MASK =(BRAY_RAY_CAMERA), ENUM_TO_MASK =(BRAY_RAY_CAMERA), ENUM_TO_MASK =(BRAY_RAY_CAMERA),
  ENUM_TO_MASK =(BRAY_RAY_CAMERA), ENUM_TO_MASK =(BRAY_RAY_CAMERA), ENUM_TO_MASK =(BRAY_RAY_CAMERA), ENUM_TO_MASK =(BRAY_RAY_CAMERA),
  ENUM_TO_MASK =(BRAY_RAY_CAMERA), ENUM_TO_MASK =(BRAY_RAY_CAMERA), ENUM_TO_MASK =(BRAY_RAY_CAMERA), ENUM_TO_MASK =(BRAY_RAY_CAMERA),
  BRAY_RAY_SHADOW = (BRAY_RAY_SHADOW_REG | BRAY_RAY_SHADOW_BG), BRAY_ANY_CAMERA = (BRAY_RAY_CAMERA | BRAY_PROXY_CAMERA | BRAY_GUIDE_CAMERA), BRAY_ANY_SHADOW = (BRAY_RAY_SHADOW | BRAY_PROXY_SHADOW | BRAY_GUIDE_SHADOW), BRAY_RAY_ALL = 0xFFFF,
  BRAY_RAY_PROXY_MASK = (BRAY_PROXY_CAMERA|BRAY_PROXY_SHADOW), BRAY_RAY_GUIDE_MASK = (BRAY_GUIDE_CAMERA|BRAY_GUIDE_SHADOW), BRAY_RAY_RENDER_MASK
}
 Ray visibility flags. More...
 
enum  BRAY_LightSamplingMode { BRAY_LSM_UNIFORM = 0, BRAY_LSM_LIGHT_TREE }
 

Functions

 UT_ASSERT_COMPILETIME (BRAY_EVENT_MAXFLAGS<=32)
 
BRAY_API UT_StringHolder BRAYeventType (BRAY_EventType type)
 Create a nice string for the event type mask. More...
 
BRAY_API const UT_StringHolderBRAYrendererName ()
 Return the name of the renderer. More...
 
BRAY_API constexpr exint BRAYpropertyCount (BRAY_PropertyType ty)
 Look up the enum given a name. More...
 
BRAY_API const UT_StringHolderBRAYproperty (BRAY_PropertyType ty, int id)
 
BRAY_API int BRAYproperty (BRAY_PropertyType ty, const UT_StringRef &name)
 
BRAY_API exint BRAYpropertySize (BRAY_PropertyType ty, int id)
 
BRAY_API GT_Storage BRAYpropertyStorage (BRAY_PropertyType ty, int id)
 
bool BRAYisValid (BRAY_PropertyType ty, int id)
 
bool BRAYisValid (const std::pair< BRAY_PropertyType, int > &prop)
 
BRAY_API BRAY_PropertyType BRAYpropertyType (const UT_StringRef &name)
 Lookup a property type by name. More...
 
BRAY_API const UT_StringHolderBRAYpropertyType (BRAY_PropertyType id)
 Look up the name of a property type by the id. More...
 
BRAY_API std::pair
< BRAY_PropertyType, int
BRAYproperty (const char *token, BRAY_PropertyType style=BRAY_SCENE_PROPERTY)
 
BRAY_API const char * BRAYproperty (UT_WorkBuffer &storage, BRAY_PropertyType type, int property_id, const char *prefix="")
 
BRAY_API UT_StringHolder BRAYrayVisibility (BRAY_RayVisibility mask)
 
template<>
constexpr size_t BRAYmaxOptions< BRAY_SceneOption > ()
 
template<>
constexpr size_t BRAYmaxOptions< BRAY_ObjectProperty > ()
 
template<>
constexpr size_t BRAYmaxOptions< BRAY_LightProperty > ()
 
template<>
constexpr size_t BRAYmaxOptions< BRAY_CameraProperty > ()
 
template<>
constexpr size_t BRAYmaxOptions< BRAY_PlaneProperty > ()
 
template<>
constexpr BRAY_PropertyType BRAYpropertyType< BRAY_SceneOption > ()
 
template<>
constexpr BRAY_PropertyType BRAYpropertyType< BRAY_ObjectProperty > ()
 
template<>
constexpr BRAY_PropertyType BRAYpropertyType< BRAY_LightProperty > ()
 
template<>
constexpr BRAY_PropertyType BRAYpropertyType< BRAY_CameraProperty > ()
 
template<>
constexpr BRAY_PropertyType BRAYpropertyType< BRAY_PlaneProperty > ()
 

Macro Definition Documentation

#define ENUM_FLAG (   TOKEN)    BRAY_EVENT_##TOKEN = (1 << BRAY_EVENT_##TOKEN##_FLAG)

Definition at line 37 of file BRAY_Types.h.

#define ENUM_MAPPER (   TYPE,
  METHOD 
)
Value:
BRAY_API extern TYPE METHOD(const UT_StringRef &name); \
BRAY_API extern const UT_StringHolder &METHOD(TYPE o); \
/* end macro */
GLuint const GLchar * name
Definition: glcorearb.h:786
#define BRAY_API
Definition: BRAY_API.h:12

Definition at line 654 of file BRAY_Types.h.

#define ENUM_TO_MASK (   TOKEN)    TOKEN = (1 << TOKEN##_ENUM)

Definition at line 713 of file BRAY_Types.h.

#define INSTANTIATE (   VAR,
  SIZE,
  IS_ARRAY 
)
Value:
template <> inline constexpr size_t \
BRAYrayImportSize<VAR>() { return SIZE; } \
template <> inline constexpr bool \
BRAYrayImportIsArray<VAR>() { return IS_ARRAY; } \
/* end of macro */
#define SIZE
Definition: simple.C:41

Definition at line 782 of file BRAY_Types.h.

#define PROPERTY_LOOKUP (   NAME,
  STYLE,
  ENUM 
)
Value:
inline ENUM BRAY##NAME(const UT_StringRef &name) \
{ return ENUM(BRAYproperty(STYLE, name)); } \
inline const UT_StringHolder &BRAY##NAME(ENUM token) \
{ return BRAYproperty(STYLE, token); } \
inline exint BRAY##NAME##Size(ENUM token) \
{ return BRAYpropertySize(STYLE, token); } \
inline GT_Storage BRAY##NAME##Storage(ENUM token) \
{ return BRAYpropertyStorage(STYLE, token); } \
/* end of macro */
GT_Storage
Definition: GT_Types.h:19
BRAY_API GT_Storage BRAYpropertyStorage(BRAY_PropertyType ty, int id)
int64 exint
Definition: SYS_Types.h:125
BRAY_API exint BRAYpropertySize(BRAY_PropertyType ty, int id)
GLuint const GLchar * name
Definition: glcorearb.h:786
BRAY_API const UT_StringHolder & BRAYproperty(BRAY_PropertyType ty, int id)

Definition at line 450 of file BRAY_Types.h.

Typedef Documentation

Consistent representation for material ids.

Definition at line 673 of file BRAY_Types.h.

using BRAYtime = float

Consistent representation of time type within BRAY.

Definition at line 670 of file BRAY_Types.h.

Enumeration Type Documentation

anonymous enum
Enumerator
BRAY_EVENT_NEW_FLAG 
BRAY_EVENT_DEL_FLAG 
BRAY_EVENT_ATTRIB_P_FLAG 
BRAY_EVENT_ATTRIB_FLAG 
BRAY_EVENT_TOPOLOGY_FLAG 
BRAY_EVENT_XFORM_FLAG 
BRAY_EVENT_CONTENTS_FLAG 
BRAY_EVENT_PROPERTIES_FLAG 
BRAY_EVENT_MATERIAL_FLAG 
BRAY_EVENT_TRACESET_FLAG 
BRAY_EVENT_MAXFLAGS 

Definition at line 20 of file BRAY_Types.h.

Enumerator
BRAY_BUCKETORDER_MIDDLE 
BRAY_BUCKETORDER_TOP 
BRAY_BUCKETORDER_BOTTOM 
BRAY_BUCKETORDER_LEFT 
BRAY_BUCKETORDER_RIGHT 
BRAY_BUCKETORDER_MAX 

Definition at line 580 of file BRAY_Types.h.

Enumerator
BRAY_CAMERA_FOCAL 
BRAY_CAMERA_APERTURE 
BRAY_CAMERA_PROJECTION 
BRAY_CAMERA_LENSSHADER 
BRAY_CAMERA_ORTHO_WIDTH 
BRAY_CAMERA_CLIP 
BRAY_CAMERA_SHUTTER 
BRAY_CAMERA_FOCUS_DISTANCE 
BRAY_CAMERA_FSTOP 
BRAY_CAMERA_WINDOW 
BRAY_CAMERA_EXPOSURE 
BRAY_CAMERA_TINT 
BRAY_CAMERA_MAX_PROPERTIES 
BRAY_CAMERA_INVALID_PROPERTY 

Definition at line 304 of file BRAY_Types.h.

Types of events that can be sent as updates to the renderer.

Enumerator
BRAY_NO_EVENT 
ENUM_FLAG 
ENUM_FLAG 
ENUM_FLAG 
ENUM_FLAG 
ENUM_FLAG 
ENUM_FLAG 
ENUM_FLAG 
ENUM_FLAG 
ENUM_FLAG 
ENUM_FLAG 

Definition at line 39 of file BRAY_Types.h.

Enumerator
BRAY_IMAGEMODE_PROGRESSIVE 
BRAY_IMAGEMODE_BUCKET 
BRAY_IMAGEMODE_MAX 

Definition at line 591 of file BRAY_Types.h.

Enumerator
BRAY_INTERACTION_NORMAL 
BRAY_INTERACTION_FLIPBOOK 
BRAY_INTERACTION_PLAYING 
BRAY_INTERACTION_SCRUBBING 
BRAY_INTERACTION_EDITING 
BRAY_INTERACTION_TUMBLING 
BRAY_INTERACTION_MAX_TYPES 

Definition at line 568 of file BRAY_Types.h.

Enumerator
BRAY_LIGHT_ENABLE 
BRAY_LIGHT_SHADER 
BRAY_LIGHT_AREA_SHAPE 
BRAY_LIGHT_NORMALIZE_AREA 
BRAY_LIGHT_AREA_SIZE 
BRAY_LIGHT_ACTIVE_RADIUS 
BRAY_LIGHT_POINT_RADIUS 
BRAY_LIGHT_SHADOW_COLOR 
BRAY_LIGHT_SHADOW_DISTANCE 
BRAY_LIGHT_SHADOW_FALLOFF 
BRAY_LIGHT_SHADOW_FALLOFF_GAMMA 
BRAY_LIGHT_MIS_BIAS 
BRAY_LIGHT_SAMPLING_QUALITY 
BRAY_LIGHT_SAMPLING_MODE 
BRAY_LIGHT_SHADOW_TRACESET 
BRAY_LIGHT_CATEGORY 
BRAY_LIGHT_HDRI_MAX_ISIZE 
BRAY_LIGHT_DISTANT_ANGLE 
BRAY_LIGHT_DIFFUSE_SCALE 
BRAY_LIGHT_SPECULAR_SCALE 
BRAY_LIGHT_SINGLE_SIDED 
BRAY_LIGHT_RENDER_LIGHT_GEO 
BRAY_LIGHT_LIGHT_GEO_CASTS_SHADOW 
BRAY_LIGHT_LPE_TAG 
BRAY_LIGHT_PORTAL_MIS_BIAS 
BRAY_LIGHT_ILLUM_BACKGROUND 
BRAY_LIGHT_CONTRIBUTIONS 
BRAY_LIGHT_CONTRIBUTES_CAUSTIC 
BRAY_LIGHT_SKY_LIGHT 
BRAY_LIGHT_SPREAD 
BRAY_LIGHT_MAX_PROPERTIES 
BRAY_LIGHT_INVALID_PROPERTY 

Definition at line 323 of file BRAY_Types.h.

Enumerator
BRAY_LSM_UNIFORM 
BRAY_LSM_LIGHT_TREE 

Definition at line 820 of file BRAY_Types.h.

Enumerator
BRAY_LIGHT_POINT 
BRAY_LIGHT_SPHERE 
BRAY_LIGHT_RECT 
BRAY_LIGHT_DISK 
BRAY_LIGHT_CYLINDER 
BRAY_LIGHT_LINE 
BRAY_LIGHT_ENVIRONMENT 
BRAY_LIGHT_DISTANT 
BRAY_LIGHT_GEOMETRY 
BRAY_LIGHT_UNDEFINED 
BRAY_LIGHT_MAX 

Definition at line 539 of file BRAY_Types.h.

List of known LPE prefixes.

Enumerator
BRAY_LPEPREFIX_NONE 
BRAY_LPEPREFIX_UNOCCLUDED 
BRAY_LPEPREFIX_HOLDOUTS 

Definition at line 679 of file BRAY_Types.h.

Note
If you add an object property, please update BRAY_HdUtil.C
Enumerator
BRAY_OBJ_MOTION_BLUR 
BRAY_OBJ_SAMPLE_FROM_STAGE 
BRAY_OBJ_GEO_VELBLUR 
BRAY_OBJ_GEO_SAMPLES 
BRAY_OBJ_XFORM_SAMPLES 
BRAY_OBJ_BLUR_STYLE 
BRAY_OBJ_INSTANCE_VELBLUR 
BRAY_OBJ_INSTANCE_SAMPLES 
BRAY_OBJ_DICING_QUALITY 
BRAY_OBJ_DICING_FLATNESS 
BRAY_OBJ_TRUE_DISPLACE 
BRAY_OBJ_SHADING_QUALITY 
BRAY_OBJ_DICING_DEPTH_MIN 
BRAY_OBJ_DICING_DEPTH_MAX 
BRAY_OBJ_CUSPANGLE 
BRAY_OBJ_DIFFUSE_SAMPLES 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_REFLECT_SAMPLES 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_REFRACT_SAMPLES 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_VOLUME_SAMPLES 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_SSS_SAMPLES 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_DIFFUSE_LIMIT 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_REFLECT_LIMIT 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_REFRACT_LIMIT 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_VOLUME_LIMIT 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_SSS_LIMIT 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_DIFFUSE_QUALITY 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_REFLECT_QUALITY 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_REFRACT_QUALITY 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_VOLUME_QUALITY 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_SSS_QUALITY 
Note
: The order must match theBsdfBounceTypes in PBR_Types.h
BRAY_OBJ_VOLUME_SAMPLING 
BRAY_OBJ_VOLUME_STEP_RATE 
BRAY_OBJ_VOLUME_UNIFORM 
BRAY_OBJ_VOLUME_UNIFORM_DENSITY 
BRAY_OBJ_VOLUME_UNIFORM_SAMPLES 
BRAY_OBJ_VOLUME_VBLUR_SCALE 
BRAY_OBJ_VOLUME_SAMPLING_CHANNEL 
BRAY_OBJ_VOLUME_FILTER_TYPE 
BRAY_OBJ_VOLUME_FILTER_WIDTH 
BRAY_OBJ_VISIBILITY_MASK 
BRAY_OBJ_ENABLE_LOFT 
BRAY_OBJ_LOFT_PTS_THRESH 
BRAY_OBJ_TRACESETS 
BRAY_OBJ_LIGHT_CATEGORIES 
BRAY_OBJ_HOLDOUT_MODE 
BRAY_OBJ_POINT_STYLE 
BRAY_OBJ_CURVE_STYLE 
BRAY_OBJ_CURVE_BASIS 
BRAY_OBJ_TREAT_AS_LIGHTSOURCE 
BRAY_OBJ_IS_LIGHTSOURCE 
BRAY_OBJ_VOLLIGHT_IMPORTANCE_GRID_SIZE 
BRAY_OBJ_GEOLIGHT_NUM_PERPRIM_CESAMPS 
BRAY_OBJ_LIGHTSOURCE_SAMPLING_QUALITY 
BRAY_OBJ_LIGHTSOURCE_DIFFUSE_SCALE 
BRAY_OBJ_LIGHTSOURCE_SPECULAR_SCALE 
BRAY_OBJ_IS_PORTAL 
BRAY_OBJ_PORTAL_DOME_LIGHTS 
BRAY_OBJ_SMOOTHP 
BRAY_OBJ_CULL_BACKFACE 
BRAY_OBJ_HD_RPRIM_ID 
BRAY_OBJ_RENDER_MASK 
BRAY_OBJ_LPE_TAG 
BRAY_OBJ_INTERNAL_REFLECT_ENABLE 
BRAY_OBJ_LIGHT_SUBSET 
BRAY_OBJ_DIELECTRIC_PRIORITY 
BRAY_OBJ_CAUSTICS_ENABLE 
BRAY_OBJ_CAUSTICS_ROUGHNESS_CLAMP 
BRAY_OBJ_FAKECAUSTICS_BSDF_ENABLE 
BRAY_OBJ_FAKECAUSTICS_COLOR 
BRAY_OBJ_FAKECAUSTICS_OPACITY 
BRAY_OBJ_VARIANCEAA_THRESH 
BRAY_OBJ_VARIANCEAA_MIN_SAMPLES 
BRAY_OBJ_VARIANCEAA_MAX_SAMPLES 
BRAY_OBJ_MTLX_IMAGE_WIDTH 
BRAY_OBJ_MTLX_IMAGE_BLUR 
BRAY_OBJ_UVUNWRAP_LOWRES 
BRAY_OBJ_UVUNWRAP_CAGE 
BRAY_OBJ_UVUNWRAP_HIGHRES 
BRAY_OBJ_MAX_PROPERTIES 
BRAY_OBJ_INVALID_PROPERTY 

Definition at line 192 of file BRAY_Types.h.

Enumerator
BRAY_OVERRIDE_LIGHT_OFF 
BRAY_OVERRIDE_LIGHT_EMISSIVE 
BRAY_OVERRIDE_LIGHT_HEADLIGHT 
BRAY_OVERRIDE_LIGHT_DOMELIGHT 

Definition at line 531 of file BRAY_Types.h.

Enumerator
BRAY_PLANE_FILTER 
BRAY_PLANE_SAMPLING 
BRAY_PLANE_DITHER 
BRAY_PLANE_DEFAULT_VALUE 
BRAY_PLANE_CRYPTO_ENABLE 
BRAY_PLANE_CRYPTO_RANK 
BRAY_PLANE_CRYPTO_SIDECAR 
BRAY_PLANE_MAX_PROPERTIES 
BRAY_PLANE_INVALID_PROPERTY 

Definition at line 360 of file BRAY_Types.h.

Projection modes for rendering.

Enumerator
BRAY_PROJ_ORTHOGRAPHIC 
BRAY_PROJ_PERSPECTIVE 
BRAY_PROJ_CVEX_SHADER 
BRAY_PROJ_MAX 
BRAY_PROJ_INVALID 

Definition at line 600 of file BRAY_Types.h.

Enumerator
BRAY_SCENE_PROPERTY 
BRAY_OBJECT_PROPERTY 
BRAY_LIGHT_PROPERTY 
BRAY_CAMERA_PROPERTY 
BRAY_PLANE_PROPERTY 
BRAY_MAX_PROPERTY_TYPES 
BRAY_INVALID_PROPERTY 

Definition at line 374 of file BRAY_Types.h.

Ray visibility flags.

Enumerator
BRAY_RAY_NONE 
ENUM_TO_MASK 
ENUM_TO_MASK 
ENUM_TO_MASK 
ENUM_TO_MASK 
ENUM_TO_MASK 
ENUM_TO_MASK 
ENUM_TO_MASK 
ENUM_TO_MASK 
ENUM_TO_MASK 
ENUM_TO_MASK 
ENUM_TO_MASK 
BRAY_RAY_SHADOW 
BRAY_ANY_CAMERA 
BRAY_ANY_SHADOW 
BRAY_RAY_ALL 
BRAY_RAY_PROXY_MASK 
BRAY_RAY_GUIDE_MASK 
BRAY_RAY_RENDER_MASK 

Definition at line 715 of file BRAY_Types.h.

Enumerator
BRAY_RAY_CAMERA_ENUM 
BRAY_RAY_DIFFUSE_ENUM 
BRAY_RAY_REFLECT_ENUM 
BRAY_RAY_REFRACT_ENUM 
BRAY_RAY_VOLUME_ENUM 
BRAY_RAY_SHADOW_REG_ENUM 
BRAY_RAY_SHADOW_BG_ENUM 
BRAY_PROXY_CAMERA_ENUM 
BRAY_PROXY_SHADOW_ENUM 
BRAY_GUIDE_CAMERA_ENUM 
BRAY_GUIDE_SHADOW_ENUM 

Definition at line 696 of file BRAY_Types.h.

Enumerator
BRAY_STAGE_INACTIVE 
BRAY_STAGE_LOADING 
BRAY_STAGE_INITIALIZING 
BRAY_STAGE_GUIDING_TRAINING 
BRAY_STAGE_RENDERING 
BRAY_STAGE_CONVERGED 
BRAY_STAGE_MAX_TYPES 

Definition at line 555 of file BRAY_Types.h.

Option tokens used at the "global" (scene) level

Note
If you add an scene option, please update BRAY_HdUtil.C
Enumerator
BRAY_OPT_RENDERER 
BRAY_OPT_VERSION 
BRAY_OPT_ENGINE 
BRAY_OPT_SAMPLES_PER_PIXEL 
BRAY_OPT_PATHTRACEDSAMPLES 
BRAY_OPT_RAYBIAS 
BRAY_OPT_AUTO_RAYBIAS 
BRAY_OPT_SCREENDOOR_LIMIT 
BRAY_OPT_FPS 
BRAY_OPT_FRAME 
BRAY_OPT_CONVERGENCE_MODE 
BRAY_OPT_RR_CUTOFF_DEPTH 
BRAY_OPT_CONSTRAIN_MAX_ROUGH 
BRAY_OPT_SHADING_QUALITY_MULT 
BRAY_OPT_IMAGEMODE 
BRAY_OPT_PROGRESSIVE_PASSES 
BRAY_OPT_HD_FOREGROUND 
BRAY_OPT_IPR_ENABLE 
BRAY_OPT_IPR_INC_RANDOM 
BRAY_OPT_IPR_PROXY_DEPTH 
BRAY_OPT_IPR_RESERVE_THREADS 
BRAY_OPT_IPR_INTERACTION 
BRAY_OPT_IPR_BUCKETS_FOR_IMAGEFILTER 
BRAY_OPT_IPR_TIME_FOR_IMAGEFILTER 
BRAY_OPT_IPR_PROXY_FOR_IMAGEFILTER 
BRAY_OPT_USECACHERATIO 
BRAY_OPT_CACHERATIO 
BRAY_OPT_CACHESIZE 
BRAY_OPT_OVERRIDE_OBJECT 
BRAY_OPT_OVERRIDE_LIGHTING 
BRAY_OPT_DISABLE_LIGHTING 
BRAY_OPT_AO_SAMPLES 
BRAY_OPT_AO_DISTANCE 
BRAY_OPT_AO_COLORLIMIT 
BRAY_OPT_DEPTHCUE_COLOR 
BRAY_OPT_DEPTHCUE_ALPHA 
BRAY_OPT_DEPTHCUE_Z 
BRAY_OPT_LIGHT_SAMPLING_MODE 
BRAY_OPT_LIGHT_SAMPLING_QUALITY 
BRAY_OPT_COLOR_LIMIT 
BRAY_OPT_COLOR_LIMIT_INDLINKED 
BRAY_OPT_COLOR_LIMIT_INDIRECT 
BRAY_OPT_WORKING_COLOR_SPACE 
BRAY_OPT_RENDER_CAMERA 
BRAY_OPT_DICING_CAMERA 
BRAY_OPT_OFFSCREEN_QUALITY 
BRAY_OPT_DICING_QUALITY_SCALE 
BRAY_OPT_IPR_CONTINUOUS_DICING 
BRAY_OPT_ENABLE_DOF 
BRAY_OPT_IMAGE_BLUR 
BRAY_OPT_RESOLUTION 
BRAY_OPT_BUCKETSIZE 
BRAY_OPT_BUCKETORDER 
BRAY_OPT_IMAGEFILTER 
BRAY_OPT_PIXELFILTER 
BRAY_OPT_PIXELFILTERSIZE 
BRAY_OPT_SAMPLEFILTER 
BRAY_OPT_PIXELORACLE 
BRAY_OPT_USE_BACKGROUND 
BRAY_OPT_BACKGROUND_IPRFILTER 
BRAY_OPT_RANDOMSEED 
BRAY_OPT_ABORTMISSINGTEXTURE 
BRAY_OPT_ABORTNOGPUDEVICE 
BRAY_OPT_EMBREE_SSE 
BRAY_OPT_EMBREE_QUALITY 
BRAY_OPT_EXPORTCOMPONENTS 
BRAY_OPT_DIFFUSECOMPONENTS 
BRAY_OPT_REFRACTCOMPONENTS 
BRAY_OPT_VOLUMECOMPONENTS 
BRAY_OPT_SSSCOMPONENTS 
BRAY_OPT_AUTOHEADLIGHT 
BRAY_OPT_DATAWINDOW 
BRAY_OPT_PIXELASPECT 
BRAY_OPT_UNITS 
BRAY_OPT_GUIDING_ENABLE 
BRAY_OPT_GUIDING_SAMPLES 
BRAY_OPT_GUIDING_MIS_BIAS 
BRAY_OPT_GUIDING_COMPONENTS 
BRAY_OPT_GUIDING_PREPITERATIONS 
BRAY_OPT_GUIDING_SPATIALFILTER 
BRAY_OPT_GUIDING_DIRECTIONALFILTER 
BRAY_OPT_GUIDING_DETERMINISTIC 
BRAY_OPT_GUIDING_CLEARBUFFERS 
BRAY_OPT_UVUNWRAP_TYPE 
BRAY_OPT_UVUNWRAP_INFO 
BRAY_OPT_UVUNWRAP_OBJECT_ID 
BRAY_OPT_UVUNWRAP_TEXTURE_TILE 
BRAY_OPT_UVUNWRAP_PTEX_MIN_RES 
BRAY_OPT_UVUNWRAP_PTEX_MAX_RES 
BRAY_OPT_UVUNWRAP_PTEX_SMALL_PCT 
BRAY_OPT_UVUNWRAP_PTEX_REL_SCALE 
BRAY_OPT_UVUNWRAP_PTEX_SCALE 
BRAY_OPT_MAX_SCENE_OPTIONS 
BRAY_OPT_INVALID_SCENE 

Definition at line 66 of file BRAY_Types.h.

Enumerator
BRAY_RAYIMPORT_P 
BRAY_RAYIMPORT_D 
BRAY_RAYIMPORT_TIME 
BRAY_RAYIMPORT_NEAR 
BRAY_RAYIMPORT_FAR 
BRAY_RAYIMPORT_MASK 
BRAY_RAYIMPORT_CONTRIB 
BRAY_RAYIMPORT_HIT_ISHIT 
BRAY_RAYIMPORT_HIT_P 
BRAY_RAYIMPORT_HIT_Pz 
BRAY_RAYIMPORT_HIT_VELOCITY 
BRAY_RAYIMPORT_HIT_MOTION 
BRAY_RAYIMPORT_HIT_STACK 
BRAY_RAYIMPORT_HIT_ELEM 
BRAY_RAYIMPORT_HIT_PRIMID 
BRAY_RAYIMPORT_HIT_COORD 
BRAY_RAYIMPORT_HIT_DIST 
BRAY_RAYIMPORT_HIT_DPDZ 
BRAY_RAYIMPORT_HIT_N 
BRAY_RAYIMPORT_HIT_Ng 
BRAY_RAYIMPORT_HIT_FLAGS 
BRAY_RAYIMPORT_HIT_OBJECTID 
BRAY_RAYIMPORT_HIT_ISBACKFACE 
BRAY_RAYIMPORT_LEVEL 
BRAY_RAYIMPORT_VOLUME_LEVEL 
BRAY_RAYIMPORT_PIXEL_SAMPLES 
BRAY_RAYIMPORT_HD_PRIM 
BRAY_RAYIMPORT_HD_INST 
BRAY_RAYIMPORT_NOFAKECAUSTICS 
BRAY_RAYIMPORT_CURVE_ATTRIB_P 
BRAY_RAYIMPORT_CURVE_ATTRIB_WIDTH 
BRAY_RAYIMPORT_CURVE_ATTRIB_TANV 
BRAY_RAYIMPORT_ISSHADOWRAY 
BRAY_RAYIMPORT_CONESPREAD 
BRAY_RAYIMPORT_MAX 
BRAY_RAYIMPORT_INVALID 

Definition at line 610 of file BRAY_Types.h.

Function Documentation

BRAY_API UT_StringHolder BRAYeventType ( BRAY_EventType  type)

Create a nice string for the event type mask.

bool BRAYisValid ( BRAY_PropertyType  ty,
int  id 
)
inline

Definition at line 438 of file BRAY_Types.h.

bool BRAYisValid ( const std::pair< BRAY_PropertyType, int > &  prop)
inline

Definition at line 445 of file BRAY_Types.h.

template<>
constexpr size_t BRAYmaxOptions< BRAY_CameraProperty > ( )
inline

Generic method to return the number of options given an enum

Definition at line 508 of file BRAY_Types.h.

template<>
constexpr size_t BRAYmaxOptions< BRAY_LightProperty > ( )
inline

Generic method to return the number of options given an enum

Definition at line 506 of file BRAY_Types.h.

template<>
constexpr size_t BRAYmaxOptions< BRAY_ObjectProperty > ( )
inline

Generic method to return the number of options given an enum

Definition at line 504 of file BRAY_Types.h.

template<>
constexpr size_t BRAYmaxOptions< BRAY_PlaneProperty > ( )
inline

Generic method to return the number of options given an enum

Definition at line 510 of file BRAY_Types.h.

template<>
constexpr size_t BRAYmaxOptions< BRAY_SceneOption > ( )
inline

Generic method to return the number of options given an enum

Definition at line 502 of file BRAY_Types.h.

BRAY_API const UT_StringHolder& BRAYproperty ( BRAY_PropertyType  ty,
int  id 
)
BRAY_API int BRAYproperty ( BRAY_PropertyType  ty,
const UT_StringRef name 
)
BRAY_API std::pair<BRAY_PropertyType, int> BRAYproperty ( const char *  token,
BRAY_PropertyType  style = BRAY_SCENE_PROPERTY 
)

This function will resolve generic names to the appropriate property type and property identifier. For example: "plane:filter" -> {BRAY_PLANE_PROPERTY, BRAY_PLANE_FILTER} "camera:focal" -> {BRAY_CAMERA_PROPERTY, BRAY_CAMERA_FOCAL} "global:bucketsize" -> {BRAY_SCENE_PROPERTY, BRAY_OPT_BUCKETSIZE} If the token doesn't map to a property, the function will return an invalid pair (i.e. BRAYisValid(result) == false).

If the token isn't prefixed with a property type, the default_style will be used. For example, with the default of BRAY_SCENE_PROPERTY: "bucketsize" -> { BRAY_SCENE_PROPERTY, BRAY_OPT_BUCKETSIZE } "focal" -> {invalid_property_pair} (error - not a scene property)

BRAY_API const char* BRAYproperty ( UT_WorkBuffer storage,
BRAY_PropertyType  type,
int  property_id,
const char *  prefix = "" 
)

Given a property type, this will compose a name string that fully qualifies the property. This is a string that would be suitable for BRAYlookupProperty(). This may return a nullptr.

BRAY_API constexpr exint BRAYpropertyCount ( BRAY_PropertyType  ty)
inline

Look up the enum given a name.

Definition at line 411 of file BRAY_Types.h.

BRAY_API exint BRAYpropertySize ( BRAY_PropertyType  ty,
int  id 
)
BRAY_API GT_Storage BRAYpropertyStorage ( BRAY_PropertyType  ty,
int  id 
)
BRAY_API BRAY_PropertyType BRAYpropertyType ( const UT_StringRef name)

Lookup a property type by name.

BRAY_API const UT_StringHolder& BRAYpropertyType ( BRAY_PropertyType  id)

Look up the name of a property type by the id.

template<>
constexpr BRAY_PropertyType BRAYpropertyType< BRAY_CameraProperty > ( )
inline

Generic method to find the valud of the property type enum given the enum

Definition at line 525 of file BRAY_Types.h.

template<>
constexpr BRAY_PropertyType BRAYpropertyType< BRAY_LightProperty > ( )
inline

Generic method to find the valud of the property type enum given the enum

Definition at line 523 of file BRAY_Types.h.

template<>
constexpr BRAY_PropertyType BRAYpropertyType< BRAY_ObjectProperty > ( )
inline

Generic method to find the valud of the property type enum given the enum

Definition at line 521 of file BRAY_Types.h.

template<>
constexpr BRAY_PropertyType BRAYpropertyType< BRAY_PlaneProperty > ( )
inline

Generic method to find the valud of the property type enum given the enum

Definition at line 527 of file BRAY_Types.h.

template<>
constexpr BRAY_PropertyType BRAYpropertyType< BRAY_SceneOption > ( )
inline

Generic method to find the valud of the property type enum given the enum

Definition at line 519 of file BRAY_Types.h.

BRAY_API UT_StringHolder BRAYrayVisibility ( BRAY_RayVisibility  mask)
BRAY_API const UT_StringHolder& BRAYrendererName ( )

Return the name of the renderer.

UT_ASSERT_COMPILETIME ( BRAY_EVENT_MAXFLAGS<=  32)