class RED::ISoftShaderContext
Shader evaluation context. Contains shader evaluation parameters.
#include <REDISoftShaderContext.h>
Inherits: IREDObject.
Public functions:
virtual double | GetGlossyAngle ( ) const = 0 |
virtual double | GetGlossyAngleAniso ( ) const = 0 |
virtual int | GetGlossySamplesCount ( ) const = 0 |
virtual void | GetMatrixLocal ( RED::Matrix & ioMatrix, int iBindPos, const RED::ISoftRayContext & iRayContext, const RED::ISoftRenderingContext & iRenderContext ) const = 0 |
virtual void | GetProgramLocal ( double oParameter[4], int iBindPos, const RED::ISoftRayContext & iRayContext, const RED::ISoftRenderingContext & iRenderContext ) const = 0 |
virtual RenderCode & | GetRenderCode ( ) = 0 |
virtual const RenderCode & | GetRenderCode ( ) const = 0 |
virtual const int * | GetStateVector ( ) const = 0 |
virtual RED::Object * | GetTexture ( int iBindPos, const RED::ISoftRayContext & iRayContext, const RED::ISoftRenderingContext & iRenderContext ) const = 0 |
virtual void | MatrixLocalMultiply4 ( double oVector[4], int iBindPos, double iVector[4], const RED::ISoftRayContext & iRayContext, const RED::ISoftRenderingContext & iRenderContext ) const = 0 |
Public static functions:
static RED::CID | GetClassID ( ) |
Functions documentation
public static RED::CID RED::ISoftShaderContext::GetClassID | ( | ) |
public virtual double RED::ISoftShaderContext::GetGlossyAngle | ( | ) const = 0 |
Returns:
the glossiness angle.
public virtual double RED::ISoftShaderContext::GetGlossyAngleAniso | ( | ) const = 0 |
Returns:
the anisotropic glossiness angle.
public virtual int RED::ISoftShaderContext::GetGlossySamplesCount | ( | ) const = 0 |
Returns:
The number of glossiness samples to fire.
public virtual void RED::ISoftShaderContext::GetMatrixLocal | ( | RED::Matrix & | ioMatrix, |
int | iBindPos, | ||
const RED::ISoftRayContext & | iRayContext, | ||
const RED::ISoftRenderingContext & | iRenderContext | ||
) | const = 0 |
Gets a matrix parameter streamed as 4 program locals.
Parameters:
ioMatrix: | Receive the matrix components. |
iBindPos: | The matrix binding position (first row out of 4). |
iRayContext: | The actual ray context. |
iRenderContext: | The actual rendering context. |
public virtual void RED::ISoftShaderContext::GetProgramLocal | ( | double | oParameter[4], |
int | iBindPos, | ||
const RED::ISoftRayContext & | iRayContext, | ||
const RED::ISoftRenderingContext & | iRenderContext | ||
) | const = 0 |
Gets a program parameter.
Parameters:
oParameter: | Reference to the returned program local value. |
iBindPos: | Binding position of the parameter. |
iRayContext: | The actual ray context. |
iRenderContext: | The actual rendering context. |
public virtual RenderCode & RED::ISoftShaderContext::GetRenderCode | ( | ) = 0 |
Gets the shader binding specification.
Returns:
The address of the RED::RenderCode to use for this shader.
public virtual const RenderCode & RED::ISoftShaderContext::GetRenderCode | ( | ) const = 0 |
public virtual const int * RED::ISoftShaderContext::GetStateVector | ( | ) const = 0 |
Gets the state vector.
The state vector is unused if we are used for a render shader.
Returns:
The statevector in this shader context.
public virtual RED::Object * RED::ISoftShaderContext::GetTexture | ( | int | iBindPos, |
const RED::ISoftRayContext & | iRayContext, | ||
const RED::ISoftRenderingContext & | iRenderContext | ||
) | const = 0 |
Gets a shader texture.
Parameters:
iBindPos: | Binding position of the texture. |
iRayContext: | The actual ray context. |
iRenderContext: | The actual rendering context. |
Returns:
The texture address.
public virtual void RED::ISoftShaderContext::MatrixLocalMultiply4 | ( | double | oVector[4], |
int | iBindPos, | ||
double | iVector[4], | ||
const RED::ISoftRayContext & | iRayContext, | ||
const RED::ISoftRenderingContext & | iRenderContext | ||
) | const = 0 |
Homogeneous product of a vector by a local matrix.
Parameters:
oVector: | Resulting transformed vector (can be the same as 'iVector'). |
iBindPos: | Binding position of the first matrix vector. If 'iBindPos' is negative, 'oVector' is returned equal to 'iVector'. |
iVector: | Input vector. |
iRayContext: | The actual ray context. |
iRenderContext: | The actual rendering context. |