Whenever a ray is cast the following state variables are set to describe the ray:
type | name | content |
---|---|---|
miState * | parent | state of parent shader |
miState * | child | state of child shader |
miRay_type | type | type of ray: reflect, light... |
miCBoolean | scanline | from scanline algorithm |
void * | cache | RC intersection cache |
miVector | org | start point of the ray |
miVector | dir | direction of the ray |
float | time | shutter interval time |
miTag | volume | volume shader of primitive |
miTag | environment | environment shader |
int | reflection_level | current reflection ray depth |
int | refraction_level | current refraction ray depth |
int | face | facing flag for sub-rays |
parent
child
state→user
, state→label
, and
all other local information.type
miRAY_EYE
miRAY_TRANSPARENT
miRAY_REFRACT
miRAY_REFLECT
miRAY_SHADOW
miRAY_LIGHT
miRAY_ENVIRONMENT
miRAY_DISPLACE
miRAY_OUTPUT
miRAY_FINALGATHER
miRAY_LM_VERTEX
miRAY_LM_MESH
miRAY_PROBE
miRAY_NONE
miPHOTON_LIGHT
miPHOTON_REFLECT_SPECULAR
miPHOTON_REFLECT_GLOSSY
miPHOTON_REFLECT_DIFFUSE
miPHOTON_TRANSMIT_SPECULAR
miPHOTON_TRANSMIT_GLOSSY
miPHOTON_TRANSMIT_DIFFUSE
miPHOTON_TRANSPARENT
miPHOTON_ABSORB
miPHOTON_SCATTER_VOLUME
miPHOTON_EMIT_CAUSTIC
miPHOTON_EMIT_GLOBILLUM
The ray type (state→type
) can be queried with
the following macros:
miRAY_PRIMARY(raytype)
miRAY_SECONDARY(raytype)
miRAY_PHOTON(raytype)
scanline
cache
org
dir
time
volume
environment
reflection_level
refraction_level
face
Copyright © 1986-2010 by mental images GmbH