## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# 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 >:

[legend]
List of all members.

## Public Member Functions

virtual void | CalculateLighting (const csLightProperties &light, size_t numvert, iRenderBuffer *vb, iRenderBuffer *nb, csColor *litColor) const
| Compute lighting, overwrite the destination colors.
virtual void | CalculateLightingAdd (const csLightProperties &light, size_t numvert, iRenderBuffer *vb, iRenderBuffer *nb, csColor *litColor) const
| Compute lighting, add lit colors to the destination colors.
virtual void | CalculateLightingMul (const csLightProperties &light, size_t numvert, iRenderBuffer *vb, iRenderBuffer *nb, csColor *litColor) 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 376 of file vertexlight.h.

## Member Function Documentation

template<class LightProc>
virtual void csVertexLightCalculator< LightProc >::CalculateLighting | ( | const csLightProperties & | light,
|  | size_t | numvert,
|  | iRenderBuffer * | vb,
|  | iRenderBuffer * | nb,
|  | csColor * | litColor
| ) | const`[inline, virtual]`

Compute lighting, overwrite the destination colors.

Parameters:

  | light | Properties of the light to compute.
  | 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 colors.

Implements iVertexLightCalculator.

Definition at line 379 of file vertexlight.h.

template<class LightProc>
virtual void csVertexLightCalculator< LightProc >::CalculateLightingAdd | ( | const csLightProperties & | light,
|  | size_t | numvert,
|  | iRenderBuffer * | vb,
|  | iRenderBuffer * | nb,
|  | csColor * | litColor
| ) | 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.
  | 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 colors.

Implements iVertexLightCalculator.

Definition at line 394 of file vertexlight.h.

template<class LightProc>
virtual void csVertexLightCalculator< LightProc >::CalculateLightingMul | ( | const csLightProperties & | light,
|  | size_t | numvert,
|  | iRenderBuffer * | vb,
|  | iRenderBuffer * | nb,
|  | csColor * | litColor
| ) | 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.
  | 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 colors.

Implements iVertexLightCalculator.

Definition at line 410 of file vertexlight.h.

The documentation for this class was generated from the following file:

- csgfx/vertexlight.h