c4d_raytrace.h File Reference

Classes

struct  RayPolygon
 
struct  ObjectRestriction
 
struct  RayObjectInstanceData
 
struct  RayObject
 
struct  PolyVector
 
struct  RayPolyWeight
 
struct  RayLightNoise
 
struct  RayLightCaustics
 
struct  RayLightShadow
 
struct  RayLightVisible
 
struct  RayLight
 
struct  RayParameter
 
struct  RayEnvironment
 
struct  RayCamera
 
struct  SurfaceData
 
struct  RayLightComponent
 
struct  RayLightCache
 
struct  RaySampler
 
struct  RayHemiSample
 
struct  RayHemisphere
 
struct  RadiancePolyFrontBack
 
struct  RayRadiancePoly
 
struct  RayRadianceObject
 
struct  PixelFragment
 
struct  IlluminanceSurfacePointData
 
struct  RayMotionNormal
 
struct  RayMotionPolyNormal
 
struct  RayMotionMatrixData
 
struct  RayMotionMatrix
 
struct  RayMotionTextureFrame
 
struct  RayMotionTexture
 
struct  RayMotionObject
 
struct  RayMotionLightFrame
 
struct  RayMotionLight
 
struct  RayMotionCameraFrame
 
struct  RayMotionCamera
 

Macros

#define P_SPHERICAL
 
#define P_CYLINDRICAL
 
#define P_FLAT
 
#define P_CUBIC
 
#define P_FRONTAL
 
#define P_SPATIAL
 
#define P_UVW
 
#define P_SHRINKWRAP
 
#define P_CAMERAMAP
 
#define P_VOLUMESHADER
 
#define O_FLOOR
 
#define O_SKY
 
#define O_SPHERE
 
#define O_POLYGON
 
#define FIELD_NONE
 
#define FIELD_EVEN
 
#define FIELD_ODD
 
#define DOF_NONE
 
#define DOF_BOTH
 
#define DOF_FRONT
 
#define DOF_BACK
 
#define ANTI_NONE
 
#define ANTI_GEOMETRY
 
#define ANTI_BEST
 
#define CAMERA_PERSPECTIVE
 
#define CAMERA_PARALLEL
 
#define CAMERA_AXONOMETRIC
 
#define CAMERA_VRPANORAMA
 
#define CAMERA_CUSTOMLENS
 
#define CAMERA_CUSTOMLENS_LENSDISTORT
 
#define CAMERA_SPHERICAL
 
#define RT_LT_OMNI
 
#define RT_LT_SPOT
 
#define RT_LT_SPOTRECT
 
#define RT_LT_DISTANT
 
#define RT_LT_PARALLEL
 
#define RT_LT_PARSPOT
 
#define RT_LT_PARSPOTRECT
 
#define RT_LT_AREA
 
#define RT_LT_PHOTOMETRIC
 
#define RT_LT_AMBIENT
 
#define RT_LT_DEFAULT
 
#define RT_SHADOW_NONE
 
#define RT_SHADOW_SOFT
 
#define RT_SHADOW_HARD
 
#define RT_SHADOW_AREA
 
#define RT_VL_NONE
 
#define RT_VL_VISIBLE
 
#define RT_VL_VOLUMETRIC
 
#define RT_VL_INVVOLUMETRIC
 
#define RT_FALLOFF_NONE
 
#define RT_FALLOFF_INVERSE_CLAMPED
 
#define RT_FALLOFF_SQUARE_CLAMPED
 
#define RT_FALLOFF_LINEAR
 
#define RT_FALLOFF_INVERSE
 
#define RT_FALLOFF_SQUARE
 
#define RT_FALLOFF_STEP
 
#define RT_VN_NONE
 
#define RT_VN_ILLUM
 
#define RT_VN_VISIB
 
#define RT_VN_BOTH
 
#define RT_VN_NOISE
 
#define RT_VN_SOFTTURBULENCE
 
#define RT_VN_HARDTURBULENCE
 
#define RT_VN_WAVYTURBULENCE
 
#define RAY_PARAMETER
 
#define RAY_ENVIRONMENT
 
#define RAY_CAMERA
 
#define RAY_SKY
 
#define RAY_FOREGROUND
 
#define RAY_BACKGROUND
 
#define OVERSAMPLING
 
#define RAYPOLYSTATE_TRIANGLE
 
#define RAYPOLYSTATE_QUADRANGLE
 
#define RAYPOLYSTATE_SPLIT
 
#define LIGHTRESTRICTION_NODIFFUSE
 
#define LIGHTRESTRICTION_NOSPECULAR
 
#define LIGHTRESTRICTION_NOSHADOW
 
#define OBJECTRESTRICTION_TRANSPARENCY
 
#define OBJECTRESTRICTION_REFRACTION
 
#define OBJECTRESTRICTION_REFLECTION
 
#define OBJECTRESTRICTION_AO
 
#define RAY_MOTION_MATRIX
 
#define RAY_MOTION_POINTS
 
#define RAY_MOTION_COPIES
 
#define RAY_MOTION_DUPLICATE
 
#define RAY_MOTION
 
#define RAY_MOTION_LIGHT_MATRIX
 
#define RAY_MOTION_LIGHT_MATRIX_INV
 
#define RAY_MOTION_LIGHT_MATRIX_DISTORTED
 
#define RAY_MOTION_LIGHT_MATRIX_NOISE
 
#define RAY_MOTION_LIGHT_MATRIX_AREA_OBJECT
 
#define RAY_MOTION_LIGHT_MATRIX_LAST
 
#define RAY_MOTION_LIGHT_VECTOR_COLOR
 
#define RAY_MOTION_LIGHT_VECTOR_AREA_RADIUS
 
#define RAY_MOTION_LIGHT_VECTOR_NOISE_SCALE
 
#define RAY_MOTION_LIGHT_VECTOR_NOISE_WIND
 
#define RAY_MOTION_LIGHT_VECTOR_SHADOW_COLOR
 
#define RAY_MOTION_LIGHT_VECTOR_VISIBLE_COLOR
 
#define RAY_MOTION_LIGHT_VECTOR_LAST
 
#define RAY_MOTION_LIGHT_FLOAT_SPOT_ANGLE_INNER
 
#define RAY_MOTION_LIGHT_FLOAT_SPOT_ANGLE_OUTER
 
#define RAY_MOTION_LIGHT_FLOAT_SPOT_ASPECT_RATIO
 
#define RAY_MOTION_LIGHT_FLOAT_FALLOFF_RADIUS_INNER
 
#define RAY_MOTION_LIGHT_FLOAT_FALLOFF_RADIUS_OUTER
 
#define RAY_MOTION_LIGHT_FLOAT_FALLOFF_DISTANCE_INNER
 
#define RAY_MOTION_LIGHT_FLOAT_FALLOFF_DISTANCE_OUTER
 
#define RAY_MOTION_LIGHT_FLOAT_FALLOFF_ENERGY_LEVEL
 
#define RAY_MOTION_LIGHT_FLOAT_CLIPPING_NEAR_FROM
 
#define RAY_MOTION_LIGHT_FLOAT_CLIPPING_NEAR_TO
 
#define RAY_MOTION_LIGHT_FLOAT_CLIPPING_FAR_FROM
 
#define RAY_MOTION_LIGHT_FLOAT_CLIPPING_FAR_TO
 
#define RAY_MOTION_LIGHT_FLOAT_AREA_FALLOFF_ANGLE
 
#define RAY_MOTION_LIGHT_FLOAT_AREA_INFINITE_ANGLE
 
#define RAY_MOTION_LIGHT_FLOAT_GRADIENT_MULTIPLIER
 
#define RAY_MOTION_LIGHT_FLOAT_CONTRAST_TRN
 
#define RAY_MOTION_LIGHT_FLOAT_NOISE_OCTAVES
 
#define RAY_MOTION_LIGHT_FLOAT_NOISE_VELOCITY
 
#define RAY_MOTION_LIGHT_FLOAT_NOISE_BRIGHTNESS
 
#define RAY_MOTION_LIGHT_FLOAT_NOISE_CONTRAST
 
#define RAY_MOTION_LIGHT_FLOAT_NOISE_ISCALE
 
#define RAY_MOTION_LIGHT_FLOAT_NOISE_WIND_VELOCITY
 
#define RAY_MOTION_LIGHT_FLOAT_SHADOW_DENSITY
 
#define RAY_MOTION_LIGHT_FLOAT_AREA_SHADOW_NEAR_OFFSET
 
#define RAY_MOTION_LIGHT_FLOAT_AREA_SHADOW_ACCURACY
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_LEFT
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_TOP
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_RIGHT
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_BOTTOM
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_NEAR_FROM
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_NEAR_TO
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_FAR_FROM
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_FAR_TO
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_FO_SUB
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_FO_MUL
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_FO_STRENGTH
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_FE_SUB
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_FE_MUL
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_FE_STRENGTH
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_INNER_SUB
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_INNER_MUL
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_SAMPLE_DIST
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_BRIGHT
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_BRIGHT_AOI
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_BRIGHTNESS_MUL
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_DITHERING
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_DUST
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_TAN
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_TAN_SQUARE
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_ORAD
 
#define RAY_MOTION_LIGHT_FLOAT_VISIBLE_ORAD_SQAURE
 
#define RAY_MOTION_LIGHT_FLOAT_LAST
 

Typedefs

typedef void IlluminanceSurfacePointModel(VolumeData *sd, RayLightCache *rlc, IlluminanceSurfacePointData *dat)
 
typedef void IlluminationModel(VolumeData *sd, RayLightCache *rlc, void *dat)
 

Macro Definition Documentation

◆ OVERSAMPLING

#define OVERSAMPLING

Sub-pixel fragment masks have this resolution (16*16).

See also
PixelFragment

Typedef Documentation

◆ IlluminanceSurfacePointModel

typedef void IlluminanceSurfacePointModel(VolumeData *sd, RayLightCache *rlc, IlluminanceSurfacePointData *dat)

Callback definition for surface point illumination models.

Parameters
[in]sdThe volume data for the point being calculated. Cinema 4D owns the pointed volume data.
[in]rlcThe light data cache for the point being calculated. Cinema 4D owns the pointed data.
[in]datThe illuminance surface point data.

◆ IlluminationModel

typedef void IlluminationModel(VolumeData *sd, RayLightCache *rlc, void *dat)

Callback definition for hooks passed to VolumeData::IlluminanceSimple(). Called during illuminance calculations.

Parameters
[in]sdThe volume data for the point being calculated. Cinema 4D owns the pointed volume data.
[in]rlcThe light data cache for the point being calculated. Cinema 4D owns the pointed data.
[in]datThe data sent to VolumeData::IlluminanceSimple(). The caller owns the pointed data.