I3DExRaytracer Struct Reference
[External Interfaces]

Inheritance diagram for I3DExRaytracer:
IMCUnknown

List of all members.

Public Member Functions

virtual boolean MCCOMAPI LightBeam (LightBeamParams &params)=0
virtual boolean MCCOMAPI GetRayColor (TMCColorRGBA &resColor, const RayHitParameters &rayHitParams, const RTLevelInfo &level, const TVector2 &screenCoordinates, RendContext &rendContext, RayColorFlags flags)=0
virtual int32 GetLightCount ()=0
virtual boolean MCCOMAPI GetLightIntensity (DirectLighting &lighting, int32 lightIndex, const LightingContext &lightingContext, boolean withShadow, boolean lightFromBehind)=0
virtual void MCCOMAPI CalcReflections (ReflectionIO &reflectionIO, const LightingContext &lightingContext)=0
virtual void MCCOMAPI CalcTransparency (RefractionIO &transparencyIO, const LightingContext &lightingContext)=0
virtual void MCCOMAPI CalculateCaustic (TMCColorRGB &resColor, const LightingContext &lightingContext)=0
virtual void MCCOMAPI GetIndirectLighting (TMCColorRGB &resColor, real &ambientOcclusionFactor, const LightingContext &lightingContext)=0
virtual void MCCOMAPI GetSubsurfaceScattering (TMCColorRGB &subsurfaceColor, const TMCColorRGB &currentColor, const LightingContext &lightingContext, const ShadingOut &shading)=0
virtual void MCCOMAPI GetBackGroundColor (TMCColorRGBA &color, boolean &fullAreaDone, const Ray3D &ray, const TVector2 &uv, boolean showbackdrop, boolean showBackGround, boolean indirectLight)=0
virtual void MCCOMAPI GetLightDirection (TVector3 &lightDirection, int32 lightIndex, const LightingContext &lightingContext)=0
virtual void MCCOMAPI GetLightSource (I3DShLightsource **source, int32 lightIndex)=0
virtual const IllumSettings
&MCCOMAPI 
GetIllumSettings ()=0
virtual const RendEnv &MCCOMAPI GetRendEnv ()=0
virtual real MCCOMAPI GetSceneMagnitude ()=0
virtual uint32 MCCOMAPI GetRandomSeed ()=0
virtual void MCCOMAPI SetRandomSeed (const uint32 seed)=0
virtual void MCCOMAPI CalcTransparency2 (RefractionIO &transparencyIO, const LightingContext &lightingContext, TAbsorptionFunction *absorptionFunction)=0
virtual boolean MCCOMAPI GetRayColor2 (TMCColorRGBA &resColor, const RayHitParameters &rayHitParams, const RTLevelInfo &level, const TVector2 &screenCoordinates, RendContext &rendContext, TAbsorptionFunction *absorptionFunction, RayColorFlags flags)=0
virtual void MCCOMAPI GetBackGroundColor2 (TMCColorRGBA &color, boolean &fullAreaDone, const Ray3D &ray, const TVector2 &uv, BackgroundRenderingFlags flags)=0
virtual void MCCOMAPI CalculateInScattering (TMCColorRGBA &outInScatteredColor, real absorptionCoef, const LightingContext &lightingContext, const TTransparencyParameters &transparencyParams, const TVector3 &direction, const real distance)=0

Detailed Description

This interface is usually implemented by a final renderer or by an object created by a final renderer. It is passed to the shaders so that they can use it to calculate the lighting.


Member Function Documentation

virtual void MCCOMAPI I3DExRaytracer::CalcReflections ( ReflectionIO reflectionIO,
const LightingContext lightingContext 
) [pure virtual]

Calculates the light the comes from the reflection

Parameters:
reflectionIO : the reflection data
lightingContext : information about the hit point
virtual void MCCOMAPI I3DExRaytracer::CalcTransparency ( RefractionIO transparencyIO,
const LightingContext lightingContext 
) [pure virtual]

Calculates the light the comes from the transparency

Parameters:
transparencyIO : the transparency data
lightingContext : information about the hit point
virtual void MCCOMAPI I3DExRaytracer::CalcTransparency2 ( RefractionIO transparencyIO,
const LightingContext lightingContext,
TAbsorptionFunction absorptionFunction 
) [pure virtual]

Calculates the light the comes from the transparency

Parameters:
transparencyIO : the transparency data
lightingContext : information about the hit point
virtual void MCCOMAPI I3DExRaytracer::CalculateCaustic ( TMCColorRGB resColor,
const LightingContext lightingContext 
) [pure virtual]

Calculates the caustics at a given point.

Parameters:
resColor : the caustic light color.
lightingContext : information about the hit point.
virtual void MCCOMAPI I3DExRaytracer::CalculateInScattering ( TMCColorRGBA outInScatteredColor,
real  absorptionCoef,
const LightingContext lightingContext,
const TTransparencyParameters transparencyParams,
const TVector3 direction,
const real  distance 
) [pure virtual]

Calculates the inScattering along a ray.

Parameters:
outInScatteredColor The resulting scattering color.
absorptionCoef The coefficient of absorption.
lightingContext The lighting context at the starting point of the ray.
direction Direction of the ray.
distance Distance along the ray.
virtual void MCCOMAPI I3DExRaytracer::GetBackGroundColor ( TMCColorRGBA color,
boolean fullAreaDone,
const Ray3D ray,
const TVector2 uv,
boolean  showbackdrop,
boolean  showBackGround,
boolean  indirectLight 
) [pure virtual]

Calculate the color of the background/backdrop seen through a particular ray. Note that the backdrop should only be visible through direct ray from the camera.

The atmosphere is also applied on the color along the ray.

Parameters:
color : the color returned
fullAreaDone : returns true if antialising has been performed
ray : the ray
uv : The screen coordinates
showbackdrop : True if the backdrop should be taken into account (normally only for rays coming directly from that Camera)
showBackGround : True if the backgroundshould be taken into account
indirectLight : True if this is a ray used to calculate indirect lighting (for global illumination)
virtual void MCCOMAPI I3DExRaytracer::GetBackGroundColor2 ( TMCColorRGBA color,
boolean fullAreaDone,
const Ray3D ray,
const TVector2 uv,
BackgroundRenderingFlags  flags 
) [pure virtual]

Calculate the color of the backdrop (note that this can be the color of the background component). This function can only be called for direct rays from the camera.

The atmosphere can also applied on the color along the ray (see flags).

Parameters:
color : the color returned
fullAreaDone : returns true if antialising has been performed
ray : the ray
uv : The screen coordinates
flags : Flags that determine what is rendered (see BackgroundRenderingFlags).
virtual const IllumSettings& MCCOMAPI I3DExRaytracer::GetIllumSettings (  )  [pure virtual]

Returns the current illumination settings of the renderer

virtual void MCCOMAPI I3DExRaytracer::GetIndirectLighting ( TMCColorRGB resColor,
real ambientOcclusionFactor,
const LightingContext lightingContext 
) [pure virtual]

Computes the indirect lighting of a point by sampling the direction around its normal.

Parameters:
resColor : the indirect diffuse lighting.
ambientOcclusionFactor : the ambient occlusion factor of the hit point.
lightingContext : information about the hit point.
virtual int32 I3DExRaytracer::GetLightCount (  )  [pure virtual]

Returns the number of lights in the scene

virtual void MCCOMAPI I3DExRaytracer::GetLightDirection ( TVector3 lightDirection,
int32  lightIndex,
const LightingContext lightingContext 
) [pure virtual]

Returns the direction of a given light

Parameters:
lightDirection Direction from the point to the light source.
lightIndex Index of the light (should be inferior to the value returned by GetLightCount)
lightingContext Information about the hit point
virtual boolean MCCOMAPI I3DExRaytracer::GetLightIntensity ( DirectLighting lighting,
int32  lightIndex,
const LightingContext lightingContext,
boolean  withShadow,
boolean  lightFromBehind 
) [pure virtual]

Calculates the lighting from one light for the current point.

Parameters:
lighting intensity of the lighting
lightIndex index of the light (should be inferior to the value returned by GetLightCount)
lightingContext information about the hit point
withShadow if true then the shadow are calculated
lightFromBehind if true the light is calculated even if the light is behind the surface
Returns:
True if the light is emitting light in that direction (without taking the shadows into account)
virtual void MCCOMAPI I3DExRaytracer::GetLightSource ( I3DShLightsource **  source,
int32  lightIndex 
) [pure virtual]

Returns the pointer to the instance of a light

Parameters:
source return pointer
lightIndex Index of the light (should be inferior to the value returned by GetLightCount)
virtual uint32 MCCOMAPI I3DExRaytracer::GetRandomSeed (  )  [pure virtual]

Returns the current random seed. If it is used to generate random numbers, you have to update the seed in the raytracer via SetRandomSeed().

virtual boolean MCCOMAPI I3DExRaytracer::GetRayColor ( TMCColorRGBA resColor,
const RayHitParameters rayHitParams,
const RTLevelInfo level,
const TVector2 screenCoordinates,
RendContext rendContext,
RayColorFlags  flags 
) [pure virtual]

Returns the color of a ray given in RayHitParameters in resColor

Parameters:
resColor : The color that is returned
rayHitParams : The parameters of the ray
level : The level of reflection/transparency
screenCoordinates : The coordinates of the point on the screen whose color depends on that ray.
rendContext : return the number of rays used to evaluate this sample and the current random seed
flags : Flags to control what should be taken into account in the shading of the hit point.
virtual boolean MCCOMAPI I3DExRaytracer::GetRayColor2 ( TMCColorRGBA resColor,
const RayHitParameters rayHitParams,
const RTLevelInfo level,
const TVector2 screenCoordinates,
RendContext rendContext,
TAbsorptionFunction absorptionFunction,
RayColorFlags  flags 
) [pure virtual]

Returns the color of a ray given in RayHitParameters in resColor

Parameters:
resColor : The color that is returned
rayHitParams : The parameters of the ray
level : The level of reflection/transparency
screenCoordinates : The coordinates of the point on the screen whose color depends on that ray.
rendContext : return the number of rays used to evaluate this sample and the current random seed
absorptionFunction The absorption function along the ray (NULL if there is no absorption)
flags : Flags to control what should be taken into account in the shading of the hit point.
virtual const RendEnv& MCCOMAPI I3DExRaytracer::GetRendEnv (  )  [pure virtual]

Returns the current rendering environment

virtual real MCCOMAPI I3DExRaytracer::GetSceneMagnitude (  )  [pure virtual]

Returns the magnitude of the scene. (right now it is a number between 1 and 1200). This can be used to determine the precision needed for the rendering. For instance, if you displace the point by a small displacement (epsilon) for precision reasons, you should multiply this small constant by the scene magnitude.

virtual void MCCOMAPI I3DExRaytracer::GetSubsurfaceScattering ( TMCColorRGB subsurfaceColor,
const TMCColorRGB currentColor,
const LightingContext lightingContext,
const ShadingOut shading 
) [pure virtual]

Computes the subsurface scattering in one point

Parameters:
subsurfaceColor The resulting subsurface scattering color to add to the final color.
currentColor The current final color.
lightingContext Information about the hit point
shading The shading information at the hit point.
virtual boolean MCCOMAPI I3DExRaytracer::LightBeam ( LightBeamParams params  )  [pure virtual]

Traces a ray between two points (tmax should be normally finite). This is used by the shadow feature to calculate the shadows.

Parameters:
params : The parameters describing the beam
Returns:
True if there was a hit
virtual void MCCOMAPI I3DExRaytracer::SetRandomSeed ( const uint32  seed  )  [pure virtual]

Sets the random seed in the raytracer.

Parameters:
seed the new seed

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