OGRE  1.10.12
Object-Oriented Graphics Rendering Engine
Ogre::RTShader::NormalMapLighting Class Reference

Normal Map Lighting extension sub render state implementation. More...

#include <OgreShaderExNormalMapLighting.h>

+ Inheritance diagram for Ogre::RTShader::NormalMapLighting:

Public Types

enum  NormalMapSpace { NMS_TANGENT, NMS_OBJECT }
 Normal map space definition. More...
 

Public Member Functions

 NormalMapLighting ()
 Class default constructor. More...
 
virtual void copyFrom (const SubRenderState &rhs)
 
virtual bool createCpuSubPrograms (ProgramSet *programSet)
 Create sub programs that represents this sub render state as part of a program set. More...
 
SubRenderStateAccessorPtr getAccessor ()
 Return the accessor object to this sub render state. More...
 
SubRenderStateAccessorPtr getAccessor () const
 Return the accessor object to this sub render state. More...
 
virtual int getExecutionOrder () const
 
unsigned int getNormalMapAnisotropy () const
 Return the normal map anisotropy value. More...
 
void getNormalMapFiltering (FilterOptions &minFilter, FilterOptions &magFilter, FilterOptions &mipFilter) const
 Return the normal map filtering attributes. More...
 
Real getNormalMapMipBias () const
 Return the normal map mip bias value. More...
 
NormalMapSpace getNormalMapSpace () const
 Return the normal map space. More...
 
const StringgetNormalMapTextureName () const
 Return the normal map texture name. More...
 
unsigned int getTexCoordIndex () const
 Return the index of the input vertex shader texture coordinate set. More...
 
virtual const StringgetType () const
 
virtual bool preAddToRenderState (const RenderState *renderState, Pass *srcPass, Pass *dstPass)
 
void setNormalMapAnisotropy (unsigned int anisotropy)
 Setup the normal map anisotropy value. More...
 
void setNormalMapFiltering (const FilterOptions minFilter, const FilterOptions magFilter, const FilterOptions mipFilter)
 Set the normal map filtering attributes. More...
 
void setNormalMapMipBias (Real mipBias)
 Setup the normal map map mip bias value. More...
 
void setNormalMapSpace (NormalMapSpace normalMapSpace)
 Set the normal map space. More...
 
void setNormalMapTextureName (const String &textureName)
 Set the normal map texture name. More...
 
void setTexCoordIndex (unsigned int index)
 Set the index of the input vertex shader texture coordinate set. More...
 
virtual void updateGpuProgramsParams (Renderable *rend, Pass *pass, const AutoParamDataSource *source, const LightList *pLightList)
 

Static Public Attributes

static String Type
 

Detailed Description

Normal Map Lighting extension sub render state implementation.

Derives from SubRenderState class.

Member Enumeration Documentation

◆ 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.

Constructor & Destructor Documentation

◆ NormalMapLighting()

Ogre::RTShader::NormalMapLighting::NormalMapLighting ( )

Class default constructor.

Member Function Documentation

◆ getType()

virtual const String& Ogre::RTShader::NormalMapLighting::getType ( ) const
virtual

◆ updateGpuProgramsParams()

virtual void Ogre::RTShader::NormalMapLighting::updateGpuProgramsParams ( Renderable rend,
Pass pass,
const AutoParamDataSource source,
const LightList pLightList 
)
virtual

◆ 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
normalMapSpaceThe 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()

void Ogre::RTShader::NormalMapLighting::setNormalMapFiltering ( const FilterOptions  minFilter,
const FilterOptions  magFilter,
const FilterOptions  mipFilter 
)
inline

Set the normal map filtering attributes.

Parameters
minFilterThe desired min filter.
magFilterThe desired mag filter.
mipFilterThe desired mip filter.

◆ getNormalMapFiltering()

void Ogre::RTShader::NormalMapLighting::getNormalMapFiltering ( FilterOptions minFilter,
FilterOptions magFilter,
FilterOptions mipFilter 
) const
inline

Return the normal map filtering attributes.

Parameters
minFilterThe desired min filter.
magFilterThe desired mag filter.
mipFilterThe desired mip filter.

◆ setNormalMapAnisotropy()

void Ogre::RTShader::NormalMapLighting::setNormalMapAnisotropy ( unsigned int  anisotropy)
inline

Setup the normal map anisotropy value.

Parameters
anisotropyThe anisotropy value.

◆ getNormalMapAnisotropy()

unsigned int Ogre::RTShader::NormalMapLighting::getNormalMapAnisotropy ( ) const
inline

Return the normal map anisotropy value.

◆ setNormalMapMipBias()

void Ogre::RTShader::NormalMapLighting::setNormalMapMipBias ( Real  mipBias)
inline

Setup the normal map map mip bias value.

Parameters
mipBiasThe map mip bias value.

◆ getNormalMapMipBias()

Real Ogre::RTShader::NormalMapLighting::getNormalMapMipBias ( ) const
inline

Return the normal map mip bias value.

◆ getExecutionOrder()

virtual int Ogre::RTShader::PerPixelLighting::getExecutionOrder ( ) const
virtualinherited

◆ 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
programSetcontainer class of CPU and GPU programs that this sub state will affect on.

Reimplemented in Ogre::RTShader::FFPTransform.

◆ getAccessor() [1/2]

SubRenderStateAccessorPtr Ogre::RTShader::SubRenderState::getAccessor ( )
inherited

Return the accessor object to this sub render state.

See also
SubRenderStateAccessor.

◆ getAccessor() [2/2]

SubRenderStateAccessorPtr Ogre::RTShader::SubRenderState::getAccessor ( ) const
inherited

Return the accessor object to this sub render state.

See also
SubRenderStateAccessor.

Member Data Documentation

◆ Type

String Ogre::RTShader::NormalMapLighting::Type
static

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