Developer Documentation
ACG::ShaderGenDesc Class Reference

Classes

struct  TextureType
 

Public Member Functions

QString toString () const
 convert ShaderGenDesc to string format for debugging More...
 
const std::map< size_t, TextureType > & textureTypes () const
 
void addTextureType (GLenum _type, bool _shadow, size_t _stage)
 adds a texture type to the shader and enables texturing. More...
 
void clearTextures ()
 disables texture support and removes all texture types More...
 
bool textured () const
 
void enableTexGenObjectLinear (int _dim=2)
 
void enableTexGenEyeLinear (int _dim=2)
 
void enableTexGenSphericalMap (int _dim=2)
 
void enableTexGenNormalMap (int _dim=3)
 
void enableTexGenReflectionMap (int _dim=3)
 
void disableTexGen ()
 
bool operator== (const ShaderGenDesc &_rhs) const
 

Public Attributes

int version
 
int numLights
 
ShaderGenLightType lightTypes [SG_MAX_SHADER_LIGHTS]
 
bool twoSidedLighting
 
ShaderGenShadeMode shadeMode
 
bool vertexColors
 
QString vertexTemplateFile
 
QString tessControlTemplateFile
 
QString tessEvaluationTemplateFile
 
QString geometryTemplateFile
 
QString fragmentTemplateFile
 
std::vector< unsigned int > shaderMods
 
QStringList macros
 
bool normalizeTexColors
 Defines if the textureVariable is normalized or not, if multiple textures are used. More...
 
QString vertexColorsInterpolator
 interpolation qualifier for input vertex colors: "flat", "smooth", "noperspective" More...
 
QString vertexNormalInterpolator
 interpolation qualifier for vertex shader normal outputs: "flat", "smooth", "noperspective" More...
 
GLenum colorMaterialMode
 
uint clipDistanceMask
 
int texGenDim
 
GLenum texGenMode
 
bool texGenPerFragment
 

Private Attributes

std::map< size_t, TextureTypetextureTypes_
 holds the texture types (second) and the stage id (first). if empty, shader does not support textures More...
 

Detailed Description

Definition at line 83 of file ShaderGenerator.hh.

Constructor & Destructor Documentation

◆ ShaderGenDesc()

ACG::ShaderGenDesc::ShaderGenDesc ( )
inline

Definition at line 87 of file ShaderGenerator.hh.

Member Function Documentation

◆ addTextureType()

void ACG::ShaderGenDesc::addTextureType ( GLenum  _type,
bool  _shadow,
size_t  _stage 
)
inline

adds a texture type to the shader and enables texturing.

Definition at line 214 of file ShaderGenerator.hh.

◆ clearTextures()

void ACG::ShaderGenDesc::clearTextures ( )
inline

disables texture support and removes all texture types

Definition at line 223 of file ShaderGenerator.hh.

◆ disableTexGen()

void ACG::ShaderGenDesc::disableTexGen ( )
inline

Definition at line 272 of file ShaderGenerator.hh.

◆ enableTexGenEyeLinear()

void ACG::ShaderGenDesc::enableTexGenEyeLinear ( int  _dim = 2)
inline

Definition at line 248 of file ShaderGenerator.hh.

◆ enableTexGenNormalMap()

void ACG::ShaderGenDesc::enableTexGenNormalMap ( int  _dim = 3)
inline

Definition at line 260 of file ShaderGenerator.hh.

◆ enableTexGenObjectLinear()

void ACG::ShaderGenDesc::enableTexGenObjectLinear ( int  _dim = 2)
inline

Definition at line 242 of file ShaderGenerator.hh.

◆ enableTexGenReflectionMap()

void ACG::ShaderGenDesc::enableTexGenReflectionMap ( int  _dim = 3)
inline

Definition at line 266 of file ShaderGenerator.hh.

◆ enableTexGenSphericalMap()

void ACG::ShaderGenDesc::enableTexGenSphericalMap ( int  _dim = 2)
inline

Definition at line 254 of file ShaderGenerator.hh.

◆ operator==()

bool ACG::ShaderGenDesc::operator== ( const ShaderGenDesc _rhs) const
inline

Definition at line 276 of file ShaderGenerator.hh.

◆ textured()

bool ACG::ShaderGenDesc::textured ( ) const
inline

Definition at line 225 of file ShaderGenerator.hh.

◆ textureTypes()

const std::map< size_t, TextureType > & ACG::ShaderGenDesc::textureTypes ( ) const
inline

Definition at line 209 of file ShaderGenerator.hh.

◆ toString()

QString ACG::ShaderGenDesc::toString ( ) const

convert ShaderGenDesc to string format for debugging

Definition at line 2724 of file ShaderGenerator.cc.

Member Data Documentation

◆ clipDistanceMask

uint ACG::ShaderGenDesc::clipDistanceMask

Definition at line 196 of file ShaderGenerator.hh.

◆ colorMaterialMode

GLenum ACG::ShaderGenDesc::colorMaterialMode

Definition at line 191 of file ShaderGenerator.hh.

◆ fragmentTemplateFile

QString ACG::ShaderGenDesc::fragmentTemplateFile

Definition at line 167 of file ShaderGenerator.hh.

◆ geometryTemplateFile

QString ACG::ShaderGenDesc::geometryTemplateFile

Definition at line 166 of file ShaderGenerator.hh.

◆ lightTypes

ShaderGenLightType ACG::ShaderGenDesc::lightTypes[SG_MAX_SHADER_LIGHTS]

Definition at line 154 of file ShaderGenerator.hh.

◆ macros

QStringList ACG::ShaderGenDesc::macros

Definition at line 174 of file ShaderGenerator.hh.

◆ normalizeTexColors

bool ACG::ShaderGenDesc::normalizeTexColors

Defines if the textureVariable is normalized or not, if multiple textures are used.

Definition at line 180 of file ShaderGenerator.hh.

◆ numLights

int ACG::ShaderGenDesc::numLights

Definition at line 153 of file ShaderGenerator.hh.

◆ shadeMode

ShaderGenShadeMode ACG::ShaderGenDesc::shadeMode

Definition at line 158 of file ShaderGenerator.hh.

◆ shaderMods

std::vector<unsigned int> ACG::ShaderGenDesc::shaderMods

Definition at line 170 of file ShaderGenerator.hh.

◆ tessControlTemplateFile

QString ACG::ShaderGenDesc::tessControlTemplateFile

Definition at line 164 of file ShaderGenerator.hh.

◆ tessEvaluationTemplateFile

QString ACG::ShaderGenDesc::tessEvaluationTemplateFile

Definition at line 165 of file ShaderGenerator.hh.

◆ texGenDim

int ACG::ShaderGenDesc::texGenDim

Definition at line 233 of file ShaderGenerator.hh.

◆ texGenMode

GLenum ACG::ShaderGenDesc::texGenMode

Definition at line 236 of file ShaderGenerator.hh.

◆ texGenPerFragment

bool ACG::ShaderGenDesc::texGenPerFragment

Definition at line 240 of file ShaderGenerator.hh.

◆ textureTypes_

std::map<size_t,TextureType> ACG::ShaderGenDesc::textureTypes_
private

holds the texture types (second) and the stage id (first). if empty, shader does not support textures

Definition at line 206 of file ShaderGenerator.hh.

◆ twoSidedLighting

bool ACG::ShaderGenDesc::twoSidedLighting

Definition at line 156 of file ShaderGenerator.hh.

◆ version

int ACG::ShaderGenDesc::version

Definition at line 151 of file ShaderGenerator.hh.

◆ vertexColors

bool ACG::ShaderGenDesc::vertexColors

Definition at line 160 of file ShaderGenerator.hh.

◆ vertexColorsInterpolator

QString ACG::ShaderGenDesc::vertexColorsInterpolator

interpolation qualifier for input vertex colors: "flat", "smooth", "noperspective"

Definition at line 183 of file ShaderGenerator.hh.

◆ vertexNormalInterpolator

QString ACG::ShaderGenDesc::vertexNormalInterpolator

interpolation qualifier for vertex shader normal outputs: "flat", "smooth", "noperspective"

Definition at line 186 of file ShaderGenerator.hh.

◆ vertexTemplateFile

QString ACG::ShaderGenDesc::vertexTemplateFile

Definition at line 163 of file ShaderGenerator.hh.


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