CrystalSpace

Public API Reference

iVertexLightCalculator Struct Reference

Interface to calculate lighting for a number of vertices. More...

#include <csgfx/vertexlight.h>

Inheritance diagram for iVertexLightCalculator:

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 =0
 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 =0
 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 =0
 Compute lighting, multiply lit colors with destination colors.
virtual ~iVertexLightCalculator ()

Detailed Description

Interface to calculate lighting for a number of vertices.

Definition at line 388 of file vertexlight.h.


Member Function Documentation

virtual void iVertexLightCalculator::CalculateLighting ( const csLightProperties light,
const csVector3 eyePos,
float  shininess,
size_t  numvert,
iRenderBuffer vb,
iRenderBuffer nb,
iRenderBuffer litColor,
iRenderBuffer specColor = 0 
) const [pure 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.

Implemented in csVertexLightCalculator< LightProc >.

virtual void iVertexLightCalculator::CalculateLightingAdd ( const csLightProperties light,
const csVector3 eyePos,
float  shininess,
size_t  numvert,
iRenderBuffer vb,
iRenderBuffer nb,
iRenderBuffer litColor,
iRenderBuffer specColor = 0 
) const [pure 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.

Implemented in csVertexLightCalculator< LightProc >.

virtual void iVertexLightCalculator::CalculateLightingMul ( const csLightProperties light,
const csVector3 eyePos,
float  shininess,
size_t  numvert,
iRenderBuffer vb,
iRenderBuffer nb,
iRenderBuffer litColor,
iRenderBuffer specColor = 0 
) const [pure 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.

Implemented in csVertexLightCalculator< LightProc >.


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