All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Attributes | List of all members
gazebo::rendering::GBufferMaterialGenerator Class Reference

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

#include <GBufferMaterialGenerator.hh>

Inheritance diagram for gazebo::rendering::GBufferMaterialGenerator:
Inheritance graph
[legend]
Collaboration diagram for gazebo::rendering::GBufferMaterialGenerator:
Collaboration graph
[legend]

Public Types

enum  GBufferPermutations {
  GBP_NO_TEXTURES = 0x00000000, GBP_ONE_TEXTURE = 0x00000001, GBP_TWO_TEXTURES = 0x00000002, GBP_THREE_TEXTURES = 0x00000003,
  GBP_TEXTURE_MASK = 0x0000000F, GBP_HAS_DIFFUSE_COLOUR = 0x00000010, GBP_NO_TEXCOORDS = 0x00000000, GBP_ONE_TEXCOORD = 0x00000100,
  GBP_TWO_TEXCOORDS = 0x00000200, GBP_TEXCOORD_MASK = 0x00000700, GBP_NORMAL_MAP = 0x00000800, GBP_SKINNED = 0x00010000
}
 The relevant options for objects that are rendered to the GBuffer. More...
 
enum  GBufferType { GBT_NORMAL_AND_DEPTH, GBT_DSF, GBT_FAT }
 The types of g buffers. More...
 
- Public Types inherited from gazebo::rendering::MaterialGenerator
typedef uint32_t Perm
 Bitfield used to signify a material permutations. More...
 

Public Member Functions

 GBufferMaterialGenerator (GBufferType _type)
 Constructor. More...
 
- Public Member Functions inherited from gazebo::rendering::MaterialGenerator
virtual ~MaterialGenerator ()
 
const Ogre::MaterialPtr & GetMaterial (Perm permutation)
 

Static Public Attributes

static const uint32_t FS_MASK = 0x0000FFFF
 
static const uint32_t MAT_MASK = 0xFF00FFFF
 
static const uint32_t VS_MASK = 0x00FFFF00
 

Additional Inherited Members

- Protected Types inherited from gazebo::rendering::MaterialGenerator
typedef std::map< Perm,
Ogre::MaterialPtr > 
MaterialMap
 
typedef std::map< Perm,
Ogre::GpuProgramPtr > 
ProgramMap
 
- Protected Member Functions inherited from gazebo::rendering::MaterialGenerator
 MaterialGenerator ()
 constructor is protected as this base class should never be constructed as-is. More...
 
const Ogre::GpuProgramPtr & GetFragmentShader (Perm _perm)
 
const Ogre::MaterialPtr & GetTemplateMaterial (Perm _perm)
 
const Ogre::GpuProgramPtr & GetVertexShader (Perm _perm)
 
- Protected Attributes inherited from gazebo::rendering::MaterialGenerator
ProgramMap fs
 
Perm fsMask
 Mask of permutation bits that influence fragment shader choice. More...
 
Implimpl
 Generator. More...
 
Ogre::String materialBaseName
 Base name of materials generated by this. More...
 
MaterialMap materials
 
Perm matMask
 Mask of permutation bits that influence template material choice. More...
 
std::string schemeName
 
MaterialMap templateMat
 
ProgramMap vs
 
Perm vsMask
 Mask of permutation bits that influence vertex shader choice. More...
 

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.

Member Enumeration Documentation

The relevant options for objects that are rendered to the GBuffer.

Enumerator
GBP_NO_TEXTURES 
GBP_ONE_TEXTURE 
GBP_TWO_TEXTURES 
GBP_THREE_TEXTURES 
GBP_TEXTURE_MASK 
GBP_HAS_DIFFUSE_COLOUR 
GBP_NO_TEXCOORDS 
GBP_ONE_TEXCOORD 
GBP_TWO_TEXCOORDS 
GBP_TEXCOORD_MASK 
GBP_NORMAL_MAP 
GBP_SKINNED 

The types of g buffers.

Enumerator
GBT_NORMAL_AND_DEPTH 
GBT_DSF 
GBT_FAT 

Constructor & Destructor Documentation

gazebo::rendering::GBufferMaterialGenerator::GBufferMaterialGenerator ( GBufferType  _type)

Constructor.

Member Data Documentation

const uint32_t gazebo::rendering::GBufferMaterialGenerator::FS_MASK = 0x0000FFFF
static
const uint32_t gazebo::rendering::GBufferMaterialGenerator::MAT_MASK = 0xFF00FFFF
static
const uint32_t gazebo::rendering::GBufferMaterialGenerator::VS_MASK = 0x00FFFF00
static

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