Project

General

Profile

SO3Engine
SO3::SGBufferMaterialGenerator Class Reference

#include <SO3GBufferMaterialGenerator.h>

Inheritance diagram for SO3::SGBufferMaterialGenerator:
SO3::SMaterialGenerator< SGBufferMaterialPermutation, Ogre::uint32 >

Public Member Functions

 SGBufferMaterialGenerator ()
 
void FreeMaterial (const Ogre::MaterialPtr &ogreMaterial)
 
- Public Member Functions inherited from SO3::SMaterialGenerator< SGBufferMaterialPermutation, Ogre::uint32 >
virtual ~SMaterialGenerator ()
 
const Ogre::MaterialPtr & GetMaterial (SGBuffer *gbuffer, SGBufferMaterialPermutation permutation)
 
unsigned int GetDeferredMaterialNumber (SGBuffer *gbuffer)
 
unsigned int GetDeferredMaterialTemplateNumber (SGBuffer *gbuffer)
 
unsigned int GetDeferredVertexShaderNumber (SGBuffer *gbuffer)
 
unsigned int GetDeferredPixelShaderNumber (SGBuffer *gbuffer)
 
void ResetResources (SGBuffer *gbuffer)
 

Protected Member Functions

virtual Ogre::GpuProgramPtr GenerateVertexShader (SGBuffer *gbuffer, Ogre::uint32 permutationValue)
 
virtual Ogre::GpuProgramPtr GenerateFragmentShader (SGBuffer *gbuffer, Ogre::uint32 permutationValue)
 
virtual Ogre::MaterialPtr GenerateTemplateMaterial (SGBuffer *gbuffer, Ogre::uint32 permutationValue)
 
- Protected Member Functions inherited from SO3::SMaterialGenerator< SGBufferMaterialPermutation, Ogre::uint32 >
 SMaterialGenerator (const Ogre::String &typeName)
 
const Ogre::GpuProgramPtr & GetVertexShader (SGBuffer *gbuffer, Ogre::uint32 permutationValue)
 
const Ogre::GpuProgramPtr & GetFragmentShader (SGBuffer *gbuffer, Ogre::uint32 permutationValue)
 
const Ogre::MaterialPtr & GetTemplateMaterial (SGBuffer *gbuffer, Ogre::uint32 permutationValue)
 

Additional Inherited Members

- Public Types inherited from SO3::SMaterialGenerator< SGBufferMaterialPermutation, Ogre::uint32 >
typedef Ogre::uint32 Perm
 Bitfield used to signify a material permutations.
 
- Protected Attributes inherited from SO3::SMaterialGenerator< SGBufferMaterialPermutation, Ogre::uint32 >
const Ogre::String materialBaseName
 Base name of materials generated by this.
 

Detailed Description

Class for generating materials for objects to render themselves to the GBuffer

Note
This does not support all the possible rendering techniques out there. in order to support more, either expand this class or make sure that objects that will not get treated correctly will not have materials generated for them.

Definition at line 41 of file SO3GBufferMaterialGenerator.h.

Constructor & Destructor Documentation

◆ SGBufferMaterialGenerator()

SO3::SGBufferMaterialGenerator::SGBufferMaterialGenerator ( )

Constructor

Definition at line 39 of file SO3GBufferMaterialGenerator.cpp.

Member Function Documentation

◆ FreeMaterial()

void SO3::SGBufferMaterialGenerator::FreeMaterial ( const Ogre::MaterialPtr &  ogreMaterial)

Delete all deferred techniques from a material.

Definition at line 43 of file SO3GBufferMaterialGenerator.cpp.

◆ GenerateFragmentShader()

Ogre::GpuProgramPtr SO3::SGBufferMaterialGenerator::GenerateFragmentShader ( SGBuffer gbuffer,
Ogre::uint32  permutationValue 
)
protectedvirtual

◆ GenerateTemplateMaterial()

Ogre::MaterialPtr SO3::SGBufferMaterialGenerator::GenerateTemplateMaterial ( SGBuffer gbuffer,
Ogre::uint32  permutationValue 
)
protectedvirtual

◆ GenerateVertexShader()

Ogre::GpuProgramPtr SO3::SGBufferMaterialGenerator::GenerateVertexShader ( SGBuffer gbuffer,
Ogre::uint32  permutationValue 
)
protectedvirtual

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