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* 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 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 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. |