# TBasicVolumetricEffect Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicVolumetricEffect:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj)
virtual uint32 MCCOMAPI | AddRef ()
virtual void MCCOMAPI | Initialise (I3DShScene *scene)
virtual void MCCOMAPI | DirectionFilter (const TVector3 &origin, const TVector3 &direction, real maxt, TMCColorRGBA &inOutFilter, boolean isShadowCasting)
virtual void MCCOMAPI | DirectionFilter2 (I3DExRaytracer *raytracer, const TVector3 &origin, const TVector3 &direction, real maxt, TMCColorRGBA &inOutFilter, boolean isShadowCasting)

## Detailed Description

Basic Volumetric Effect class. Derive from this for a default implementation of I3DExVolumetricEffect

See also:
  I3DExVolumetricEffect

## Member Function Documentation

virtual uint32 MCCOMAPI TBasicVolumetricEffect::AddRef | ( |  | ) | `[inline, virtual]`

Increments the reference count of the object

Reimplemented from TBasicDataExchanger.

virtual void MCCOMAPI TBasicVolumetricEffect::DirectionFilter | ( | const TVector3 & | origin,
|  | const TVector3 & | direction,
|  | real | maxt,
|  | TMCColorRGBA & | inOutFilter,
|  | boolean | isShadowCasting |
| ) |  |  | `[virtual]`

OBSOLETE: use DirectionFilter2 instead. Only left for compatibility between Carrara 5.0.1 and 5.1, should be removed in Carrara 6.

Implements I3DExVolumetricEffect.

virtual void MCCOMAPI TBasicVolumetricEffect::DirectionFilter2 | ( | I3DExRaytracer * | raytracer,
|  | const TVector3 & | origin,
|  | const TVector3 & | direction,
|  | real | maxt,
|  | TMCColorRGBA & | inOutFilter,
|  | boolean | isShadowCasting |
| ) |  |  | `[virtual]`

This function should filter a color with the volumetricEffect. When the function is called, inOutFilter contains the color of an object at the end point. When it returns inOutFilter should have been modified to include the filtering effect.

Parameters:

  | raytracer | a pointer to the current raytracer
  | origin | point from which we see
  | direction | direction in which we look
  | maxt | the parametric coordinate of the end point on the ray: endpoint = origin + maxt * direction
  | inOutFilter | color of the end point (when called), color after filtering (when returning)
  | isShadowCasting | True if this is a shadow ray

Implements I3DExVolumetricEffect.

virtual void MCCOMAPI TBasicVolumetricEffect::Initialise | ( | I3DShScene * | scene | ) | `[virtual]`

This function is called at the beginning of the rendering of a frame. It allows you to create caches for your effect

Parameters:

  | scene | A pointer to the scene to which the effect belongs

Implements I3DExVolumetricEffect.

virtual MCCOMErr MCCOMAPI TBasicVolumetricEffect::QueryInterface | ( | const MCIID & | riid,
|  | void ** | ppvObj |
| ) |  |  | `[virtual]`

Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.

Parameters:

  | riid | GUID of the interface
  | ppvObj | A pointer to the pointer being returned.

Reimplemented from TBasicDataExchanger.

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

- BasicVolumetricEffect.h