I3DShEnvironment Struct Reference
[Shell Interfaces]

Inheritance diagram for I3DShEnvironment:
IMCUnknown

List of all members.

Public Member Functions

virtual MCCOMErr MCCOMAPI SegmentFilter (const TVector3 &beg, const TVector3 &end, TMCColorRGBA &inOutFilter, I3DExRaytracer *raytracer, boolean isShadowCasting, boolean renderVolmetricEffects, boolean indirectLight, boolean isSunLightShadowCasting)=0
virtual MCCOMErr MCCOMAPI DirectionFilter (const TVector3 &origin, const TVector3 &direction, TMCColorRGBA &inOutFilter, I3DExRaytracer *raytracer, boolean renderVolmetricEffects, boolean indirectLight)=0
virtual MCCOMErr MCCOMAPI GetBackdropColor (const TVector2 &screenPoint, boolean &fullAreaDone, const TBBox2D &screenMinMax, TMCColorRGB &resultColor)=0
virtual MCCOMErr MCCOMAPI GetEnvironmentColor (const TVector3 &direction, boolean &fullAreaDone, TMCColorRGB &resultColor)=0
virtual boolean MCCOMAPI HasAtmosphere () const =0
virtual boolean MCCOMAPI HasBackdrop () const =0
virtual boolean MCCOMAPI HasBackground () const =0
virtual MCCOMErr MCCOMAPI SegmentFilter2 (const Ray3D &ray, real64 tmin, real64 tmax, TMCColorRGBA &inOutFilter, I3DExRaytracer *raytracer, boolean isShadowCasting, boolean renderVolmetricEffects, boolean indirectLight, boolean isSunLightShadowCasting)=0
virtual MCCOMErr MCCOMAPI DirectionFilter2 (const Ray3D &ray, TMCColorRGBA &inOutFilter, I3DExRaytracer *raytracer, boolean renderVolumePrimitives, boolean renderVolmetricEffects, boolean indirectLight)=0
virtual void MCCOMAPI SegmentFilterExcludingVolumPrimitives (const Ray3D &ray, real64 tmin, real64 tmax, TMCColorRGBA &inOutFilter, I3DExRaytracer *raytracer, boolean isShadowCasting, boolean renderVolmetricEffects, boolean indirectLight, boolean isSunLightShadowCasting)=0
virtual MCCOMErr MCCOMAPI SegmentFilter3 (const Ray3D &ray, real64 tmin, real64 tmax, TMCColorRGBA &inOutFilter, TColorRGBLinearEffect *outAtmosphereLinearEffect, TColorRGBLinearEffect *outVolumeLinearEffect, TColorRGBLinearEffect *outEffectLinearEffect, I3DExRaytracer *raytracer, boolean isShadowCasting, boolean renderAtmosphere, boolean renderVolumetricPrimitives, boolean renderVolmetricEffects, boolean indirectLight, boolean isSunLightShadowCasting, boolean oldShadowFiltering)=0
virtual MCCOMErr MCCOMAPI DirectionFilter3 (const Ray3D &ray, TMCColorRGBA &inOutFilter, TColorRGBLinearEffect *outAtmosphereLinearEffect, TColorRGBLinearEffect *outVolumeLinearEffect, TColorRGBLinearEffect *outEffectLinearEffect, I3DExRaytracer *raytracer, boolean renderAtmosphere, boolean renderVolumePrimitives, boolean renderVolmetricEffects, boolean indirectLight)=0

Detailed Description

This is the shell interface for environments (Atmosphere, Backdrop, Background...)

There are two interfaces to access a component: The shell interface (ISh. or I3DSh.) and the external interface (IEx. or I3DEx.) . You can get one from the other using QueryInterface.

Whenever it is possible you should use the Shell interface to access the component because the Shell will make sure that the parameter map of the external component is valid. This is especially important if the component is animated. For more information on components see the Overview of the SDK.

This interface provides a convient way to access Atmospheres, Volumetric effects, Background, Backdrops...


Member Function Documentation

virtual MCCOMErr MCCOMAPI I3DShEnvironment::DirectionFilter ( const TVector3 origin,
const TVector3 direction,
TMCColorRGBA inOutFilter,
I3DExRaytracer raytracer,
boolean  renderVolmetricEffects,
boolean  indirectLight 
) [pure virtual]
Deprecated:
use DirectionFilter2 instead. Calculates the effect of the atmosphere on an infinite ray.
Parameters:
origin The origin of the ray in Global Coordinates
direction A unit vector that defines the direction of 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 The raytracer that should be used for lighting calculations.
indirectLight True if the ray is used to calculate indirect lighting.
renderVolmetricEffects True if volumetric Effects (lightCone, light sphere...) should be taken into account.
virtual MCCOMErr MCCOMAPI I3DShEnvironment::DirectionFilter2 ( const Ray3D ray,
TMCColorRGBA inOutFilter,
I3DExRaytracer raytracer,
boolean  renderVolumePrimitives,
boolean  renderVolmetricEffects,
boolean  indirectLight 
) [pure virtual]

Calculates the effect of the environment (atmosphere + volume primitives) on an infinite ray.

Parameters:
ray The ray that should be filtered
inOutFilter On input this is the color of the light coming from the end of the ray (tmax). On output it should contain the color of the light seen through the atmosphere and the volume primitives
raytracer The raytracer that should be used for lighting calculations
renderVolumePrimitives True if volumetric Primitives (clouds,fire,...) should be taken into account.
renderVolmetricEffects True if volumetric Effects (lightCone, light sphere...) should be taken into account.
indirectLight True if the ray is used to calculate indirect lighting.
virtual MCCOMErr MCCOMAPI I3DShEnvironment::DirectionFilter3 ( const Ray3D ray,
TMCColorRGBA inOutFilter,
TColorRGBLinearEffect outAtmosphereLinearEffect,
TColorRGBLinearEffect outVolumeLinearEffect,
TColorRGBLinearEffect outEffectLinearEffect,
I3DExRaytracer raytracer,
boolean  renderAtmosphere,
boolean  renderVolumePrimitives,
boolean  renderVolmetricEffects,
boolean  indirectLight 
) [pure virtual]

Calculates the effect of the environment (atmosphere + volume primitives) on an infinite ray.

Parameters:
ray The ray that should be filtered
inOutFilter On input this is the color of the light coming from the end of the ray (tmax). On output it should contain the color of the light seen through the atmosphere and the volume primitives
outLinearEffect If not null, will be filled by the linear effect of the environment.
raytracer The raytracer that should be used for lighting calculations
renderAtmosphere True if the atmosphere sould be taken into account.
renderVolumePrimitives True if volumetric Primitives (clouds,fire,...) should be taken into account.
renderVolmetricEffects True if volumetric Effects (lightCone, light sphere...) should be taken into account.
indirectLight True if the ray is used to calculate indirect lighting.
virtual MCCOMErr MCCOMAPI I3DShEnvironment::GetBackdropColor ( const TVector2 screenPoint,
boolean fullAreaDone,
const TBBox2D screenMinMax,
TMCColorRGB resultColor 
) [pure virtual]

Returns the color of the backdrop at a particular location of the screen.

Parameters:
screenPoint The coordinates of the point on the screen
fullAreaDone For future use.
screenMinMax The coordinates of the production frame in screen coordinates
resultColor The color that is returned.
virtual MCCOMErr MCCOMAPI I3DShEnvironment::GetEnvironmentColor ( const TVector3 direction,
boolean fullAreaDone,
TMCColorRGB resultColor 
) [pure virtual]

Returns the color of the Background.

Parameters:
direction The direction of the ray.
fullAreaDone For future use.
resultColor The color that is returned.
virtual boolean MCCOMAPI I3DShEnvironment::HasAtmosphere (  )  const [pure virtual]

Returns true if the scene contains an Atmosphere (I3DShAtmosphericShader).

virtual boolean MCCOMAPI I3DShEnvironment::HasBackdrop (  )  const [pure virtual]

Returns true if the scene contains a Backdrop.

virtual boolean MCCOMAPI I3DShEnvironment::HasBackground (  )  const [pure virtual]

Returns true if the scene contains a Background.

virtual MCCOMErr MCCOMAPI I3DShEnvironment::SegmentFilter ( const TVector3 beg,
const TVector3 end,
TMCColorRGBA inOutFilter,
I3DExRaytracer raytracer,
boolean  isShadowCasting,
boolean  renderVolmetricEffects,
boolean  indirectLight,
boolean  isSunLightShadowCasting 
) [pure virtual]
Deprecated:
use SegmentFilter2 instead. Calculates the effect of the atmosphere on a finite line segment on a ray.
Parameters:
beg The point that defines the beginning of the segment in Global Coordinates. It is the point through which we "see" the atmosphere.
end The point that is seen from beg.
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 The raytracer that should be used for lighting calculations.
indirectLight True if the ray is used to calculate indirect lighting.
isShadowCasting True if the ray is a shadow ray.
renderVolmetricEffects True if volumetric Effects (lightCone, light sphere...) should be taken into account.
isSunLightShadowCasting True if the current ray is a shadow ray from the sun
virtual MCCOMErr MCCOMAPI I3DShEnvironment::SegmentFilter2 ( const Ray3D ray,
real64  tmin,
real64  tmax,
TMCColorRGBA inOutFilter,
I3DExRaytracer raytracer,
boolean  isShadowCasting,
boolean  renderVolmetricEffects,
boolean  indirectLight,
boolean  isSunLightShadowCasting 
) [pure virtual]

Calculates the effect of the environment (atmosphere + volume primitives) on a finite line segment on a ray. This function replaces SegmentFilter which is now obsolete.

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 the end of the ray (tmax). On output it should contain the color of the light seen through the atmosphere and the volume primitives
raytracer The raytracer that should be used for lighting calculations
isShadowCasting True if the ray is a shadow ray.
renderVolmetricEffects True if volumetric Effects (lightCone, light sphere...) should be taken into account.
indirectLight True if the ray is used to calculate indirect lighting.
isSunLightShadowCasting True if the ray is a shadow ray from the sun light.
virtual MCCOMErr MCCOMAPI I3DShEnvironment::SegmentFilter3 ( const Ray3D ray,
real64  tmin,
real64  tmax,
TMCColorRGBA inOutFilter,
TColorRGBLinearEffect outAtmosphereLinearEffect,
TColorRGBLinearEffect outVolumeLinearEffect,
TColorRGBLinearEffect outEffectLinearEffect,
I3DExRaytracer raytracer,
boolean  isShadowCasting,
boolean  renderAtmosphere,
boolean  renderVolumetricPrimitives,
boolean  renderVolmetricEffects,
boolean  indirectLight,
boolean  isSunLightShadowCasting,
boolean  oldShadowFiltering 
) [pure virtual]

Calculates the effect of the environment (atmosphere + volume primitives) on a finite line segment on a ray. This function replaces SegmentFilter2 which is now obsolete.

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 the end of the ray (tmax). On output it should contain the color of the light seen through the atmosphere and the volume primitives
outLinearEffect If not null, will be filled by the linear effect of the environment.
raytracer The raytracer that should be used for lighting calculations
isShadowCasting True if the ray is a shadow ray.
renderAtmosphere True if the atmosphere sould be taken into account.
renderVolumePrimitives True if volumetric Primitives (clouds,fire,...) should be taken into account.
renderVolmetricEffects True if volumetric Effects (lightCone, light sphere...) should be taken into account.
indirectLight True if the ray is used to calculate indirect lighting.
isSunLightShadowCasting True if the ray is a shadow ray from the sun light.
virtual void MCCOMAPI I3DShEnvironment::SegmentFilterExcludingVolumPrimitives ( const Ray3D ray,
real64  tmin,
real64  tmax,
TMCColorRGBA inOutFilter,
I3DExRaytracer raytracer,
boolean  isShadowCasting,
boolean  renderVolmetricEffects,
boolean  indirectLight,
boolean  isSunLightShadowCasting 
) [pure virtual]

Calculates the effect of only the atmosphere a segment of a ray. This call does not take into account volumetric primitives

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 the end of the ray (tmax). On output it should contain the color of the light seen through the atmosphere and the volume primitives
raytracer The raytracer that should be used for lighting calculations
isShadowCasting True if the ray is a shadow ray.
renderVolmetricEffects True if volumetric Effects (lightCone, light sphere...) should be taken into account.
indirectLight True if the ray is used to calculate indirect lighting.
isSunLightShadowCasting True if the ray is a shadow ray from the sun light.

The documentation for this struct was generated from the following file:
Generated on Mon Apr 26 22:47:40 2010 for Carrara SDK Doc by  doxygen 1.6.3