This reference page is linked to from the following overview topics: Render Elements.
#include <imtl.h>

Public Member Functions |
|
| CoreExport void | MixIn (ShadeOutput &a, float f) |
| ShadeOutput () | |
| ShadeOutput (int nEle) | |
| void | Reset (int nEle=-1) |
| CoreExport ShadeOutput * | Clone () |
| int | NewElementVal () |
| int | NElementVals () |
| void | SetNElements (int n) |
| AColor | ElementVal (int n) |
| void | SetElementVal (int n, AColor c) |
| void | AccumElementVal (int n, AColor c) |
| void | Sum (ShadeOutput *pSample) |
| void | Scale (float x) |
| void | SumClr (ShadeOutput *pSample) |
| ShadeOutput & | operator+= (ShadeOutput &a) |
| ShadeOutput & | operator*= (Color x) |
| ShadeOutput & | operator= (ShadeOutput &a) |
Public Attributes |
|
| ULONG | flags |
| Color | c |
| Color | t |
| float | ior |
| int | gbufId |
| int | nElements |
| AColor | elementVals [N_MAX_RENDER_ELEMENTS] |
| ShadeOutput | ( | ) | [inline] |
| ShadeOutput | ( | int | nEle | ) | [inline] |
| CoreExport void MixIn | ( | ShadeOutput & | a, |
| float | f | ||
| ) |
| void Reset | ( | int | nEle = -1 |
) | [inline] |
{
flags = 0;
gbufId = 0;
c.Black(); t.Black(); ior = 1.0f;
// clear nEle's worth of render elements
if (nEle >= 0)
nElements = nEle;
for( int i=0; i < nElements; ++i )
elementVals[i].r = elementVals[i].g =
elementVals[i].b = elementVals[i].a = 0.0f;
}
| CoreExport ShadeOutput* Clone | ( | ) |
| int NewElementVal | ( | ) | [inline] |
| int NElementVals | ( | ) | [inline] |
{ return nElements; }
| void SetNElements | ( | int | n | ) | [inline] |
| AColor ElementVal | ( | int | n | ) | [inline] |
{
DbgAssert( n>=0 && n<N_MAX_RENDER_ELEMENTS);
return elementVals[n];
}
| void SetElementVal | ( | int | n, |
| AColor | c | ||
| ) | [inline] |
{
DbgAssert( n>=0 && n<N_MAX_RENDER_ELEMENTS);
elementVals[n] = c;
}
| void AccumElementVal | ( | int | n, |
| AColor | c | ||
| ) | [inline] |
{
DbgAssert( n>=0 && n<N_MAX_RENDER_ELEMENTS);
elementVals[n] += c;
}
| void Sum | ( | ShadeOutput * | pSample | ) | [inline] |
{
c += pSample->c; t += pSample->t;
for( int i = 0; i < nElements; ++i )
elementVals[i] += pSample->elementVals[i];
}
| void Scale | ( | float | x | ) | [inline] |
{
c *= x; t *= x;
for( int i = 0; i < nElements; ++i )
elementVals[i] *= x;
}
| void SumClr | ( | ShadeOutput * | pSample | ) | [inline] |
{
c += pSample->c;
for( int i = 0; i < nElements; ++i ){
elementVals[i].r += pSample->elementVals[i].r;
elementVals[i].g += pSample->elementVals[i].g;
elementVals[i].b += pSample->elementVals[i].b;
}
}
| ShadeOutput& operator+= | ( | ShadeOutput & | a | ) | [inline] |
{
c += a.c;
t += a.t;
for( int i = 0; i < nElements; ++i )
elementVals[i] += a.elementVals[i];
return *this;
}
| ShadeOutput& operator*= | ( | Color | x | ) | [inline] |
{
c *= x; // t *= x;
AColor ac( x );
ac.a = Intens( x );
for( int i = 0; i < nElements; ++i )
elementVals[i] *= ac;
return *this;
}
| ShadeOutput& operator= | ( | ShadeOutput & | a | ) | [inline] |
| AColor elementVals[N_MAX_RENDER_ELEMENTS] |