# TBasicAtmosphere Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicAtmosphere:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj)
virtual uint32 MCCOMAPI | AddRef ()
virtual MCCOMErr MCCOMAPI | SegmentTraceRay (const Ray3D &ray, const real64 &tmin, const real64 &tmax, TMCColorRGBA &inOutFilter, TColorRGBLinearEffect *outLinearEffect, TColorRGBLinearEffect *outVolumeLinearEffect, I3DExRaytracer *raytracer, boolean isShadowRay, boolean indirectLight, boolean isSunLightShadowCasting, boolean oldShadowFiltering)
virtual MCCOMErr MCCOMAPI | DirectionTraceRay (const Ray3D &ray, TMCColorRGBA &inOutFilter, TColorRGBLinearEffect *outLinearEffect, TColorRGBLinearEffect *outVolumeLinearEffect, I3DExRaytracer *raytracer, boolean indirectLight)
virtual MCCOMErr MCCOMAPI | PrepareRender ()
virtual MCCOMErr MCCOMAPI | EndRender ()
virtual void MCCOMAPI | GetLightInfo (TAtmosphericLightInfo &info, EAtmosphericLightType lightType)
virtual void MCCOMAPI | SetLightInfo (TAtmosphericLightInfo &info, EAtmosphericLightType lightType)

## Detailed Description

Basic Atmosphere class. Derive from this for a default implementation of I3DExAtmosphericShader

See also:
  I3DExAtmosphericShader

## Member Function Documentation

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

Increments the reference count of the object

Reimplemented from TBasicDataExchanger.

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::DirectionTraceRay | ( | const Ray3D & | ray,
|  | TMCColorRGBA & | inOutFilter,
|  | TColorRGBLinearEffect * | outLinearEffect,
|  | TColorRGBLinearEffect * | outVolumeLinearEffect,
|  | I3DExRaytracer * | raytracer,
|  | boolean | indirectLight |
| ) |  |  | `[virtual]`

Calculates the effect of the atmosphere on an infinite ray.

Parameters:

  | ray | The ray in Global Coordinates
  | inOutFilter | On input it contains the color of the Background. On output it contains the color of the light filtered through the atmosphere.
  | raytracer | Pointer to the raytracer
  | indirectLight | True if the ray is used to calculate indirect lighting.

Implements I3DExAtmosphericShader.

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::EndRender | ( |  | ) | `[inline, virtual]`

Called after the scene is rendered

Implements I3DExAtmosphericShader.

virtual void MCCOMAPI TBasicAtmosphere::GetLightInfo | ( | TAtmosphericLightInfo & | info,
|  | EAtmosphericLightType | lightType |
| ) |  |  | `[virtual]`

Return info about the sun or the moon light

Parameters:

  | info | The info about the light position, color...
  | lightType | Looking for the sun or for the moon.

Implements I3DExAtmosphericShader.

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::PrepareRender | ( |  | ) | `[inline, virtual]`

Called before the scene is rendered

Implements I3DExAtmosphericShader.

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::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.

virtual MCCOMErr MCCOMAPI TBasicAtmosphere::SegmentTraceRay | ( | const Ray3D & | ray,
|  | const real64 & | tmin,
|  | const real64 & | tmax,
|  | TMCColorRGBA & | inOutFilter,
|  | TColorRGBLinearEffect * | outLinearEffect,
|  | TColorRGBLinearEffect * | outVolumeLinearEffect,
|  | I3DExRaytracer * | raytracer,
|  | boolean | isShadowRay,
|  | boolean | indirectLight,
|  | boolean | isSunLightShadowCasting,
|  | boolean | oldShadowFiltering |
| ) |  |  | `[virtual]`

Calculates the effect of the atmosphere on a finite line segment on a ray.

Parameters:

  | ray | The ray that should be filtered
  | tmin | The beginning of the segment on the ray
  | tmax | The end of the segmenet on the ray
  | inOutFilter | On input this is the color of the light coming from end in the direction of beg. On output it should contained the color of the light seen through beg once the light has been filtered by the atmosphere.
  | raytracer | Pointer to the raytracer
  | indirectLight | True if the ray is used to calculate indirect lighting.
  | isShadowRay | True if the ray is used to calculate shadows (object -> light source)
  | isSunLightShadowCasting | True if the ray is used to calculate shadows from the sun light

Implements I3DExAtmosphericShader.

virtual void MCCOMAPI TBasicAtmosphere::SetLightInfo | ( | TAtmosphericLightInfo & | info,
|  | EAtmosphericLightType | lightType |
| ) |  |  | `[virtual]`

Parameters:

  | info | The info about the sun or moon light position, color...
  | lightType | kMoonLight or kSunLight

Implements I3DExAtmosphericShader.

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

- BasicEnvironment.h