CrystalSpace

Public API Reference

csVertexLightCalculator< LightProc > Class Template Reference

iVertexLightCalculator implementation that takes one of csPointLightProc, csDirectionalLightProc or csSpotLightProc for LightProc to compute lighting for a light of the respective type. More...

#include <csgfx/vertexlight.h>

Inheritance diagram for csVertexLightCalculator< LightProc >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual void CalculateLighting (const csLightProperties &light, const csVector3 &eyePos, float shininess, size_t numvert, iRenderBuffer *vb, iRenderBuffer *nb, iRenderBuffer *litColor, iRenderBuffer *specColor=0) const
 Compute lighting, overwrite the destination colors.
virtual void CalculateLightingAdd (const csLightProperties &light, const csVector3 &eyePos, float shininess, size_t numvert, iRenderBuffer *vb, iRenderBuffer *nb, iRenderBuffer *litColor, iRenderBuffer *specColor=0) const
 Compute lighting, add lit colors to the destination colors.
virtual void CalculateLightingMul (const csLightProperties &light, const csVector3 &eyePos, float shininess, size_t numvert, iRenderBuffer *vb, iRenderBuffer *nb, iRenderBuffer *litColor, iRenderBuffer *specColor=0) const
 Compute lighting, multiply lit colors with destination colors.

Detailed Description

template<class LightProc>
class csVertexLightCalculator< LightProc >

iVertexLightCalculator implementation that takes one of csPointLightProc, csDirectionalLightProc or csSpotLightProc for LightProc to compute lighting for a light of the respective type.

Definition at line 434 of file vertexlight.h.


Member Function Documentation

template<class LightProc>
virtual void csVertexLightCalculator< LightProc >::CalculateLighting ( const csLightProperties light,
const csVector3 eyePos,
float  shininess,
size_t  numvert,
iRenderBuffer vb,
iRenderBuffer nb,
iRenderBuffer litColor,
iRenderBuffer specColor = 0 
) const [inline, virtual]

Compute lighting, overwrite the destination colors.

Parameters:
light Properties of the light to compute.
eyePos Position of the eye, in object space.
shininess Specular exponent.
numvert Number of vertices and normals.
vb Vertices. Buffer should contain (at least) 3 component vectors.
nb Normals. Buffer should contain (at least) 3 component vectors.
litColor Destination buffer for diffuse colors.
specColor Destination buffer for specular colors.

Implements iVertexLightCalculator.

Definition at line 525 of file vertexlight.h.

template<class LightProc>
virtual void csVertexLightCalculator< LightProc >::CalculateLightingAdd ( const csLightProperties light,
const csVector3 eyePos,
float  shininess,
size_t  numvert,
iRenderBuffer vb,
iRenderBuffer nb,
iRenderBuffer litColor,
iRenderBuffer specColor = 0 
) const [inline, virtual]

Compute lighting, add lit colors to the destination colors.

Compute lighting, overwrite the destination colors.

Parameters:
light Properties of the light to compute.
eyePos Position of the eye, in object space.
shininess Specular exponent.
numvert Number of vertices and normals.
vb Vertices. Buffer should contain (at least) 3 component vectors.
nb Normals. Buffer should contain (at least) 3 component vectors.
litColor Destination buffer for diffuse colors.
specColor Destination buffer for specular colors.

Implements iVertexLightCalculator.

Definition at line 534 of file vertexlight.h.

template<class LightProc>
virtual void csVertexLightCalculator< LightProc >::CalculateLightingMul ( const csLightProperties light,
const csVector3 eyePos,
float  shininess,
size_t  numvert,
iRenderBuffer vb,
iRenderBuffer nb,
iRenderBuffer litColor,
iRenderBuffer specColor = 0 
) const [inline, virtual]

Compute lighting, multiply lit colors with destination colors.

Compute lighting, overwrite the destination colors.

Parameters:
light Properties of the light to compute.
eyePos Position of the eye, in object space.
shininess Specular exponent.
numvert Number of vertices and normals.
vb Vertices. Buffer should contain (at least) 3 component vectors.
nb Normals. Buffer should contain (at least) 3 component vectors.
litColor Destination buffer for diffuse colors.
specColor Destination buffer for specular colors.

Implements iVertexLightCalculator.

Definition at line 543 of file vertexlight.h.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.4.7