Functions | |
| RayLight * | AllocRayLight (BaseDocument *doc, BaseObject *op) | 
| void | FreeRayLight (RayLight *&lgt) | 
| Bool | IlluminateRayLight (RayLight *rl, Vector *color, Vector64 *light_vector, const Vector64 &p, const Vector64 &n) | 
| RayLight* cinema::AllocRayLight | ( | BaseDocument * | doc, | 
| BaseObject * | op | ||
| ) | 
Allocates a ray light for op. Destroy the allocated ray light with FreeRayLight().
| [in] | doc | The document containing the object op. The caller owns the pointed document. | 
| [in] | op | The object to allocate the ray light for. The caller owns the pointed object. | 
| void cinema::FreeRayLight | ( | RayLight *& | lgt | ) | 
Destructs ray lights allocated with AllocRayLight().
| [in,out] | lgt | The ray light to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards. | 
| Bool cinema::IlluminateRayLight | ( | RayLight * | rl, | 
| Vector * | color, | ||
| Vector64 * | light_vector, | ||
| const Vector64 & | p, | ||
| const Vector64 & | n | ||
| ) | 
Calculates the illumination for a ray light.
| [in] | rl | The ray light to use for the calculation. The caller owns the pointed ray light. | 
| [out] | color | Assigned the calculated color. | 
| [out] | light_vector | Assigned the calculated light color. | 
| [in] | p | The point for the illumination. | 
| [in] | n | The normal for the illumination. |