# I3DExShadowFeature Struct Reference
[External Interfaces]

Inheritance diagram for I3DExShadowFeature:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | BeginRenderFrame (I3DShLightsource *light)=0
virtual MCCOMErr MCCOMAPI | EndRenderFrame ()=0
virtual boolean MCCOMAPI | CalcShadow (ShadowIO &shadowIO, const LightingContext &lightingContext)=0

## Detailed Description

A shadow feature controls the way shadows are calculated on an object. For instance, you could trace rays through the scene or used a precalated shadow maps...

## Member Function Documentation

virtual MCCOMErr MCCOMAPI I3DExShadowFeature::BeginRenderFrame | ( | I3DShLightsource * | light | ) | `[pure virtual]`

Called by the shell at the beginning of the rendering of each frame. This fonction can be used to calculate a cache (shadow buffer for instance)

Parameters:

  | light | : the light on which the shadow feature is applied

Implemented in TBasicShadowFeature.

virtual boolean MCCOMAPI I3DExShadowFeature::CalcShadow | ( | ShadowIO & | shadowIO,
|  | const LightingContext & | lightingContext |
| ) |  |  | `[pure virtual]`

Calculate the light reaching a point from a light source

Note:
  This function must be SMP compliant (= reentrant) !

Parameters:

  | shadowIO | : a structure containing all the parameters of this call
  | lightingContext | : info about the point being lit

True if a shadow was cast

Implemented in TBasicShadowFeature.

virtual MCCOMErr MCCOMAPI I3DExShadowFeature::EndRenderFrame | ( |  | ) | `[pure virtual]`

Called by the shell at the end of the rendering of each frame. This fonction can be used to delete caches.

Implemented in TBasicShadowFeature.

The documentation for this struct was generated from the following file:

- I3dExRenderFeature.h