This reference page is linked to from the following overview topics: Principal Classes for Materials and Textures, Bump Mapping, Render Elements.
LightDesc *l; for (int i=0; i\<sc.nLights; i++) { l = sc.Light(i); ..etc }
#include <imtl.h>
Public Member Functions |
|
void | ResetOutput (int n=-1) |
virtual Class_ID | ClassID () |
virtual BOOL | InMtlEditor ()=0 |
virtual int | Antialias () |
virtual int | ProjType () |
virtual LightDesc * | Light (int n)=0 |
virtual TimeValue | CurTime ()=0 |
virtual int | NodeID () |
virtual INode * | Node () |
virtual Object * | GetEvalObject () |
virtual Point3 | BarycentricCoords () |
virtual int | FaceNumber ()=0 |
virtual Point3 | Normal ()=0 |
virtual void | SetNormal (Point3 p) |
virtual Point3 | OrigNormal () |
virtual Point3 | GNormal ()=0 |
virtual float | Curve () |
virtual Point3 | V ()=0 |
virtual void | SetView (Point3 p)=0 |
virtual Point3 | OrigView () |
virtual Point3 | ReflectVector ()=0 |
virtual Point3 | RefractVector (float ior)=0 |
virtual void | SetIOR (float ior) |
virtual float | GetIOR () |
virtual Point3 | CamPos ()=0 |
virtual Point3 | P ()=0 |
virtual Point3 | DP ()=0 |
virtual void | DP (Point3 &dpdx, Point3 &dpdy) |
virtual Point3 | PObj ()=0 |
virtual Point3 | DPObj ()=0 |
virtual Box3 | ObjectBox ()=0 |
virtual Point3 | PObjRelBox ()=0 |
virtual Point3 | DPObjRelBox ()=0 |
virtual void | ScreenUV (Point2 &uv, Point2 &duv)=0 |
virtual IPoint2 | ScreenCoord ()=0 |
virtual Point2 | SurfacePtScreen () |
virtual Point3 | UVW (int channel=0)=0 |
virtual Point3 | DUVW (int channel=0)=0 |
virtual void | DPdUVW (Point3 dP[3], int channel=0)=0 |
virtual int | BumpBasisVectors (Point3 dP[2], int axis, int channel=0) |
virtual BOOL | IsSuperSampleOn () |
virtual BOOL | IsTextureSuperSampleOn () |
virtual int | GetNSuperSample () |
virtual float | GetSampleSizeScale () |
virtual Point3 | UVWNormal (int channel=0) |
virtual float | RayDiam () |
virtual float | RayConeAngle () |
virtual CoreExport AColor | EvalEnvironMap (Texmap *map, Point3 view) |
virtual void | GetBGColor (Color &bgcol, Color &transp, BOOL fogBG=TRUE)=0 |
virtual float | CamNearRange () |
virtual float | CamFarRange () |
virtual Point3 | PointTo (const Point3 &p, RefFrame ito)=0 |
virtual Point3 | PointFrom (const Point3 &p, RefFrame ifrom)=0 |
virtual Point3 | VectorTo (const Point3 &p, RefFrame ito)=0 |
virtual Point3 | VectorFrom (const Point3 &p, RefFrame ifrom)=0 |
virtual CoreExport Point3 | VectorToNoScale (const Point3 &p, RefFrame ito) |
virtual CoreExport Point3 | VectorFromNoScale (const Point3 &p, RefFrame ifrom) |
virtual void | SetGBufferID (int gbid) |
virtual FILE * | DebugFile () |
virtual AColor | EvalGlobalEnvironMap (Point3 dir) |
virtual BOOL | GetCache (Texmap *map, AColor &c) |
virtual BOOL | GetCache (Texmap *map, float &f) |
virtual BOOL | GetCache (Texmap *map, Point3 &p) |
virtual void | PutCache (Texmap *map, const AColor &c) |
virtual void | PutCache (Texmap *map, const float f) |
virtual void | PutCache (Texmap *map, const Point3 &p) |
virtual void | TossCache (Texmap *map) |
virtual INT_PTR | Execute (int cmd, ULONG_PTR arg1=0, ULONG_PTR arg2=0, ULONG_PTR arg3=0) |
LightDesc * | GetAtmosSkipLight () |
void | SetAtmosSkipLight (LightDesc *lt) |
virtual int | NRenderElements () |
virtual IRenderElement * | GetRenderElement (int n) |
virtual CoreExport Color | DiffuseIllum () |
bool | IsPhysicalSpace () const |
template<class T > | |
void | ScaledToRGB (T &energy) const |
float | ScaledToRGB (float energy) const |
void | ScaledToRGB () |
template<class T > | |
void | ScalePhysical (T &energy) const |
float | ScalePhysical (float energy) const |
template<class T > | |
void | ScaleRGB (T &energy) const |
float | ScaleRGB (float energy) const |
ShadeContext () | |
Public Attributes |
|
ULONG | mode |
BOOL | doMaps |
BOOL | filterMaps |
BOOL | shadow |
BOOL | backFace |
int | mtlNum |
Color | ambientLight |
int | nLights |
int | rayLevel |
int | xshadeID |
LightDesc * | atmosSkipLight |
RenderGlobalContext * | globContext |
ShadeOutput | out |
ShadeContext | ( | ) | [inline] |
{ mode = SCMODE_NORMAL; nLights = 0; shadow = TRUE; rayLevel = 0; globContext = NULL; atmosSkipLight = NULL; }
void ResetOutput | ( | int | n = -1 |
) | [inline] |
virtual Class_ID ClassID | ( | ) | [inline, virtual] |
{ return Class_ID(0,0); } // to distinguish different ShadeContexts.
virtual BOOL InMtlEditor | ( | ) | [pure virtual] |
virtual int Antialias | ( | ) | [inline, virtual] |
{return 0;}
virtual int ProjType | ( | ) | [inline, virtual] |
{ return 0;} // returns: 0: perspective, 1: parallel
virtual TimeValue CurTime | ( | ) | [pure virtual] |
virtual int NodeID | ( | ) | [inline, virtual] |
{ return -1; }
virtual INode* Node | ( | ) | [inline, virtual] |
virtual Object* GetEvalObject | ( | ) | [inline, virtual] |
// . . . Object *ob = sc.GetEvalObject(); if (ob \&\& ob-\>IsParticleSystem()) { // . . . }
{ return NULL; } // Returns the evaluated object for this node.
virtual Point3 BarycentricCoords | ( | ) | [inline, virtual] |
{ return Point3(0,0,0);} // coords relative to triangular face
virtual int FaceNumber | ( | ) | [pure virtual] |
virtual Point3 Normal | ( | ) | [pure virtual] |
virtual void SetNormal | ( | Point3 | p | ) | [inline, virtual] |
{} // used for perturbing normal
virtual Point3 OrigNormal | ( | ) | [inline, virtual] |
{ return Normal(); } // original surface normal: not affected by SetNormal();
virtual Point3 GNormal | ( | ) | [pure virtual] |
virtual float Curve | ( | ) | [inline, virtual] |
{ return 0.0f; } // estimate of dN/dsx, dN/dsy
virtual Point3 V | ( | ) | [pure virtual] |
virtual void SetView | ( | Point3 | p | ) | [pure virtual] |
virtual Point3 OrigView | ( | ) | [inline, virtual] |
{ return V(); } // Original view vector: not affected by SetView();
virtual Point3 ReflectVector | ( | ) | [pure virtual] |
virtual Point3 RefractVector | ( | float | ior | ) | [pure virtual] |
virtual void SetIOR | ( | float | ior | ) | [inline, virtual] |
{} // Set index of refraction
virtual float GetIOR | ( | ) | [inline, virtual] |
{ return 1.0f; } // Get index of refraction
virtual Point3 CamPos | ( | ) | [pure virtual] |
virtual Point3 P | ( | ) | [pure virtual] |
virtual Point3 DP | ( | ) | [pure virtual] |
{}; // deriv of P, relative to pixel
virtual Point3 PObj | ( | ) | [pure virtual] |
virtual Point3 DPObj | ( | ) | [pure virtual] |
virtual Box3 ObjectBox | ( | ) | [pure virtual] |
virtual Point3 PObjRelBox | ( | ) | [pure virtual] |
virtual Point3 DPObjRelBox | ( | ) | [pure virtual] |
virtual IPoint2 ScreenCoord | ( | ) | [pure virtual] |
virtual Point2 SurfacePtScreen | ( | ) | [inline, virtual] |
{ return Point2(0.0,0.0); } // return the surface point in screen coords
virtual Point3 UVW | ( | int | channel = 0 |
) | [pure virtual] |
virtual Point3 DUVW | ( | int | channel = 0 |
) | [pure virtual] |
virtual void DPdUVW | ( | Point3 | dP[3], |
int | channel = 0 |
||
) | [pure virtual] |
virtual int BumpBasisVectors | ( | Point3 | dP[2], |
int | axis, | ||
int | channel = 0 |
||
) | [inline, virtual] |
{ return 0; }
virtual BOOL IsSuperSampleOn | ( | ) | [inline, virtual] |
{ return FALSE; }
virtual BOOL IsTextureSuperSampleOn | ( | ) | [inline, virtual] |
{ return FALSE; }
virtual int GetNSuperSample | ( | ) | [inline, virtual] |
{ return 0; }
virtual float GetSampleSizeScale | ( | ) | [inline, virtual] |
{ return 1.0f; }
virtual Point3 UVWNormal | ( | int | channel = 0 |
) | [inline, virtual] |
{ return Point3(0,0,1); }
virtual float RayDiam | ( | ) | [inline, virtual] |
{ return Length(DP()); }
virtual float RayConeAngle | ( | ) | [inline, virtual] |
{ return 0.0f; }
virtual float CamNearRange | ( | ) | [inline, virtual] |
{return 0.0f;}
virtual float CamFarRange | ( | ) | [inline, virtual] |
{return 0.0f;}
virtual void SetGBufferID | ( | int | gbid | ) | [inline, virtual] |
if (inHotPortion) if (gbufid) sc.SetGBufferID(gbufid);
virtual FILE* DebugFile | ( | ) | [inline, virtual] |
{ return FALSE; }
virtual BOOL GetCache | ( | Texmap * | map, |
float & | f | ||
) | [inline, virtual] |
{ return FALSE; }
virtual void PutCache | ( | Texmap * | map, |
const float | f | ||
) | [inline, virtual] |
{}
virtual void TossCache | ( | Texmap * | map | ) | [inline, virtual] |
{}
virtual INT_PTR Execute | ( | int | cmd, |
ULONG_PTR | arg1 = 0 , |
||
ULONG_PTR | arg2 = 0 , |
||
ULONG_PTR | arg3 = 0 |
||
) | [inline, virtual] |
{ return 0; }
LightDesc* GetAtmosSkipLight | ( | ) | [inline] |
{ return atmosSkipLight; }
void SetAtmosSkipLight | ( | LightDesc * | lt | ) | [inline] |
{ atmosSkipLight = lt; }
virtual int NRenderElements | ( | ) | [inline, virtual] |
{ return globContext ? globContext->NRenderElements():0; }
virtual IRenderElement* GetRenderElement | ( | int | n | ) | [inline, virtual] |
{ return globContext ? globContext->GetRenderElement(n) : NULL; }
virtual CoreExport Color DiffuseIllum | ( | ) | [virtual] |
bool IsPhysicalSpace | ( | ) | const [inline] |
{ return globContext != NULL && globContext->pToneOp != NULL && globContext->pToneOp->IsPhysicalSpace( ); }
void ScaledToRGB | ( | T & | energy | ) | const [inline] |
{ if ( globContext != NULL && globContext->pToneOp != NULL ) globContext->pToneOp->ScaledToRGB( energy ); }
float ScaledToRGB | ( | float | energy | ) | const [inline] |
{ return (globContext == NULL || globContext->pToneOp == NULL) ? energy : globContext->pToneOp->ScaledToRGB( energy ); }
void ScaledToRGB | ( | ) | [inline] |
{ ScaledToRGB( out.c ); }
void ScalePhysical | ( | T & | energy | ) | const [inline] |
{ if ( globContext != NULL && globContext->pToneOp != NULL ) globContext->pToneOp->ScalePhysical( energy ); }
float ScalePhysical | ( | float | energy | ) | const [inline] |
{ return (globContext == NULL || globContext->pToneOp == NULL) ? energy : globContext->pToneOp->ScalePhysical( energy ); }
void ScaleRGB | ( | T & | energy | ) | const [inline] |
{ if ( globContext != NULL && globContext->pToneOp != NULL ) globContext->pToneOp->ScaleRGB( energy ); }
float ScaleRGB | ( | float | energy | ) | const [inline] |
{ return (globContext == NULL || globContext->pToneOp == NULL) ? energy : globContext->pToneOp->ScaleRGB( energy ); }