Normal Map Lighting extension sub render state implementation.
More...
#include <OgreShaderExNormalMapLighting.h>
Normal Map Lighting extension sub render state implementation.
Derives from SubRenderState class.
◆ NormalMapSpace
Normal map space definition.
Enumerator |
---|
NMS_TANGENT | Normal map contains normal data in tangent space.
This is the default normal mapping behavior and it requires that the target mesh will have valid tangents within its vertex data.
|
NMS_OBJECT | Normal map contains normal data in object local space.
This normal mapping technique has the advantages of better visualization results, lack of artifacts that comes from texture mirroring usage, it doesn't requires tangent and it also saves some instruction in the vertex shader stage. The main drawback of using this kind of normal map is that the target object must be static in terms of local space rotations and translations.
|
◆ NormalMapLighting()
Ogre::RTShader::NormalMapLighting::NormalMapLighting |
( |
| ) |
|
Class default constructor.
◆ getType()
virtual const String& Ogre::RTShader::NormalMapLighting::getType |
( |
| ) |
const |
|
virtual |
◆ updateGpuProgramsParams()
◆ copyFrom()
virtual void Ogre::RTShader::NormalMapLighting::copyFrom |
( |
const SubRenderState & |
rhs | ) |
|
|
virtual |
◆ preAddToRenderState()
virtual bool Ogre::RTShader::NormalMapLighting::preAddToRenderState |
( |
const RenderState * |
renderState, |
|
|
Pass * |
srcPass, |
|
|
Pass * |
dstPass |
|
) |
| |
|
virtual |
◆ setTexCoordIndex()
void Ogre::RTShader::NormalMapLighting::setTexCoordIndex |
( |
unsigned int |
index | ) |
|
|
inline |
Set the index of the input vertex shader texture coordinate set.
◆ getTexCoordIndex()
unsigned int Ogre::RTShader::NormalMapLighting::getTexCoordIndex |
( |
| ) |
const |
|
inline |
Return the index of the input vertex shader texture coordinate set.
◆ setNormalMapSpace()
void Ogre::RTShader::NormalMapLighting::setNormalMapSpace |
( |
NormalMapSpace |
normalMapSpace | ) |
|
|
inline |
Set the normal map space.
- Parameters
-
normalMapSpace | The normal map space. |
◆ getNormalMapSpace()
NormalMapSpace Ogre::RTShader::NormalMapLighting::getNormalMapSpace |
( |
| ) |
const |
|
inline |
Return the normal map space.
◆ setNormalMapTextureName()
void Ogre::RTShader::NormalMapLighting::setNormalMapTextureName |
( |
const String & |
textureName | ) |
|
|
inline |
Set the normal map texture name.
◆ getNormalMapTextureName()
const String& Ogre::RTShader::NormalMapLighting::getNormalMapTextureName |
( |
| ) |
const |
|
inline |
Return the normal map texture name.
◆ setNormalMapFiltering()
◆ getNormalMapFiltering()
◆ setNormalMapAnisotropy()
void Ogre::RTShader::NormalMapLighting::setNormalMapAnisotropy |
( |
unsigned int |
anisotropy | ) |
|
|
inline |
◆ getNormalMapAnisotropy()
unsigned int Ogre::RTShader::NormalMapLighting::getNormalMapAnisotropy |
( |
| ) |
const |
|
inline |
◆ setNormalMapMipBias()
void Ogre::RTShader::NormalMapLighting::setNormalMapMipBias |
( |
Real |
mipBias | ) |
|
|
inline |
◆ getNormalMapMipBias()
Real Ogre::RTShader::NormalMapLighting::getNormalMapMipBias |
( |
| ) |
const |
|
inline |
◆ getNormalMapSampler()
const SamplerPtr& Ogre::RTShader::NormalMapLighting::getNormalMapSampler |
( |
| ) |
const |
|
inline |
return the normal map sampler
◆ setNormalMapSampler()
void Ogre::RTShader::NormalMapLighting::setNormalMapSampler |
( |
const SamplerPtr & |
sampler | ) |
|
|
inline |
set the normal map sampler
◆ getExecutionOrder()
virtual int Ogre::RTShader::FFPLighting::getExecutionOrder |
( |
| ) |
const |
|
virtualinherited |
◆ setNormaliseEnabled()
void Ogre::RTShader::FFPLighting::setNormaliseEnabled |
( |
bool |
enable | ) |
|
|
inlineinherited |
normalise the blinn-phong reflection model to make it energy conserving
see this for details
◆ createCpuSubPrograms()
virtual bool Ogre::RTShader::SubRenderState::createCpuSubPrograms |
( |
ProgramSet * |
programSet | ) |
|
|
virtualinherited |
Create sub programs that represents this sub render state as part of a program set.
The given program set contains CPU programs that represents a vertex shader and pixel shader. One should use these program class API to create a representation of the sub state he wished to implement.
- Parameters
-
programSet | container class of CPU and GPU programs that this sub state will affect on. |
Reimplemented in Ogre::RTShader::FFPTransform.
◆ getAccessor() [1/2]
◆ getAccessor() [2/2]
◆ Type
String Ogre::RTShader::NormalMapLighting::Type |
|
static |
The documentation for this class was generated from the following file: