| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Public Types | Public Member Functions | Static Public Attributes | List of all members
Ogre::RTShader::NormalMapLighting Class Reference
Optional Components » RTShaderSystem

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

`#include <OgreShaderExNormalMapLighting.h>`

Inheritance diagram for Ogre::RTShader::NormalMapLighting:
[legend]

## 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)
| More...
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
| More...
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 String & | getNormalMapTextureName () 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 String & | getType () const
| More...
virtual bool | preAddToRenderState (const RenderState *renderState, Pass *srcPass, Pass *dstPass)
| More...
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)
| More...

## Static Public Attributes
static String | Type

## Detailed Description

Normal Map Lighting extension sub render state implementation.

Derives from SubRenderState class.

## Member Enumeration Documentation

## ◆ NormalMapSpace

enum Ogre::RTShader::NormalMapLighting::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

See also
  SubRenderState::getType.

Reimplemented from Ogre::RTShader::PerPixelLighting.

## ◆ updateGpuProgramsParams()

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

See also
  SubRenderState::updateGpuProgramsParams.

Reimplemented from Ogre::RTShader::PerPixelLighting.

## ◆ copyFrom()

virtual void Ogre::RTShader::NormalMapLighting::copyFrom | ( | const SubRenderState & | rhs | ) |
| virtual

See also
  SubRenderState::copyFrom.

Reimplemented from Ogre::RTShader::PerPixelLighting.

## ◆ preAddToRenderState()

virtual bool Ogre::RTShader::NormalMapLighting::preAddToRenderState | ( | const RenderState * | renderState,
|  | Pass * | srcPass,
|  | Pass * | dstPass
| ) |  |
| virtual

See also
  SubRenderState::preAddToRenderState.

Reimplemented from Ogre::RTShader::PerPixelLighting.

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

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

Set the normal map filtering attributes.

Parameters

  minFilter | The desired min filter.
  magFilter | The desired mag filter.
  mipFilter | The desired mip filter.

## ◆ getNormalMapFiltering()

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

Return the normal map filtering attributes.

Parameters

  minFilter | The desired min filter.
  magFilter | The desired mag filter.
  mipFilter | The desired mip filter.

## ◆ setNormalMapAnisotropy()

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

Setup the normal map anisotropy value.

Parameters

  anisotropy | The 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

  mipBias | The 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
| virtual inherited

See also
  SubRenderState::getType.

Implements Ogre::RTShader::SubRenderState.

## ◆ createCpuSubPrograms()

virtual bool Ogre::RTShader::SubRenderState::createCpuSubPrograms | ( | ProgramSet * | programSet | ) |
| virtual inherited

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]

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:

- OgreShaderExNormalMapLighting.h