#include <StdMeshMaterial.h>
Classes | |
class | ProgramInstance |
struct | ShaderInstance |
Public Types | |
enum | CullHardwareType { CH_Clockwise , CH_CounterClockwise , CH_None } |
enum | SceneBlendType { SB_One , SB_Zero , SB_DestColor , SB_SrcColor , SB_OneMinusDestColor , SB_OneMinusSrcColor , SB_DestAlpha , SB_SrcAlpha , SB_OneMinusDestAlpha , SB_OneMinusSrcAlpha } |
enum | DepthFunctionType { DF_AlwaysFail , DF_AlwaysPass , DF_Less , DF_LessEqual , DF_Equal , DF_NotEqual , DF_GreaterEqual , DF_Greater } |
Public Member Functions | |
StdMeshMaterialPass () | |
void | Load (StdMeshMaterialParserCtx &ctx) |
bool | IsOpaque () const |
Public Attributes | |
StdCopyStrBuf | Name |
std::vector< StdMeshMaterialTextureUnit > | TextureUnits |
float | Ambient [4] |
float | Diffuse [4] |
float | Specular [4] |
float | Emissive [4] |
float | Shininess |
bool | DepthCheck {true} |
bool | DepthWrite {true} |
CullHardwareType | CullHardware {CH_Clockwise} |
SceneBlendType | SceneBlendFactors [2] |
DepthFunctionType | AlphaRejectionFunction |
float | AlphaRejectionValue |
bool | AlphaToCoverage |
ShaderInstance | FragmentShader |
ShaderInstance | VertexShader |
ShaderInstance | GeometryShader |
std::shared_ptr< ProgramInstance > | Program |
Definition at line 370 of file StdMeshMaterial.h.
struct StdMeshMaterialPass::ShaderInstance |
Definition at line 429 of file StdMeshMaterial.h.
Class Members | ||
---|---|---|
StdMeshMaterialShaderParameters | Parameters | |
const StdMeshMaterialShader * | Shader |
Enumerator | |
---|---|
CH_Clockwise | |
CH_CounterClockwise | |
CH_None |
Definition at line 373 of file StdMeshMaterial.h.
Enumerator | |
---|---|
DF_AlwaysFail | |
DF_AlwaysPass | |
DF_Less | |
DF_LessEqual | |
DF_Equal | |
DF_NotEqual | |
DF_GreaterEqual | |
DF_Greater |
Definition at line 394 of file StdMeshMaterial.h.
Enumerator | |
---|---|
SB_One | |
SB_Zero | |
SB_DestColor | |
SB_SrcColor | |
SB_OneMinusDestColor | |
SB_OneMinusSrcColor | |
SB_DestAlpha | |
SB_SrcAlpha | |
SB_OneMinusDestAlpha | |
SB_OneMinusSrcAlpha |
Definition at line 380 of file StdMeshMaterial.h.
StdMeshMaterialPass::StdMeshMaterialPass | ( | ) |
Definition at line 1225 of file StdMeshMaterial.cpp.
References AlphaRejectionFunction, AlphaRejectionValue, AlphaToCoverage, Ambient, DF_AlwaysPass, Diffuse, Emissive, FragmentShader, GeometryShader, SB_One, SB_Zero, SceneBlendFactors, StdMeshMaterialPass::ShaderInstance::Shader, Shininess, Specular, and VertexShader.
|
inline |
void StdMeshMaterialPass::Load | ( | StdMeshMaterialParserCtx & | ctx | ) |
Definition at line 1278 of file StdMeshMaterial.cpp.
References StdMeshMaterialParserCtx::AdvanceBoolean(), StdMeshMaterialParserCtx::AdvanceColor(), StdMeshMaterialParserCtx::AdvanceEnum(), StdMeshMaterialParserCtx::AdvanceEnums(), StdMeshMaterialParserCtx::AdvanceFloat(), StdMeshMaterialParserCtx::AdvanceFloatOptional(), StdMeshMaterialParserCtx::AdvanceNonEOF(), StdMeshMaterialParserCtx::AdvanceRequired(), AlphaRejectionFunction, AlphaRejectionValue, AlphaToCoverage, Ambient, CullHardware, DepthCheck, DepthWrite, DF_AlwaysFail, DF_AlwaysPass, Diffuse, Emissive, StdMeshMaterialParserCtx::Error(), StdMeshMaterialParserCtx::ErrorUnexpectedIdentifier(), StdStrBuf::getData(), StdMeshMaterialSubLoader::Load(), SceneBlendFactors, Shininess, SMMS_FRAGMENT, SMMS_GEOMETRY, SMMS_VERTEX, Specular, TextureUnits, TOKEN_BRACE_CLOSE, TOKEN_IDTF, and StdMeshMaterialParserCtx::WarningNotSupported().
DepthFunctionType StdMeshMaterialPass::AlphaRejectionFunction |
Definition at line 425 of file StdMeshMaterial.h.
Referenced by Load(), and StdMeshMaterialPass().
float StdMeshMaterialPass::AlphaRejectionValue |
Definition at line 426 of file StdMeshMaterial.h.
Referenced by Load(), and StdMeshMaterialPass().
bool StdMeshMaterialPass::AlphaToCoverage |
Definition at line 427 of file StdMeshMaterial.h.
Referenced by Load(), and StdMeshMaterialPass().
float StdMeshMaterialPass::Ambient[4] |
Definition at line 414 of file StdMeshMaterial.h.
Referenced by Load(), and StdMeshMaterialPass().
CullHardwareType StdMeshMaterialPass::CullHardware {CH_Clockwise} |
Definition at line 423 of file StdMeshMaterial.h.
Referenced by Load().
bool StdMeshMaterialPass::DepthCheck {true} |
Definition at line 420 of file StdMeshMaterial.h.
Referenced by Load().
bool StdMeshMaterialPass::DepthWrite {true} |
Definition at line 421 of file StdMeshMaterial.h.
Referenced by Load().
float StdMeshMaterialPass::Diffuse[4] |
Definition at line 415 of file StdMeshMaterial.h.
Referenced by Load(), and StdMeshMaterialPass().
float StdMeshMaterialPass::Emissive[4] |
Definition at line 417 of file StdMeshMaterial.h.
Referenced by Load(), and StdMeshMaterialPass().
ShaderInstance StdMeshMaterialPass::FragmentShader |
Definition at line 457 of file StdMeshMaterial.h.
Referenced by CStdGL::PrepareMaterial(), and StdMeshMaterialPass().
ShaderInstance StdMeshMaterialPass::GeometryShader |
Definition at line 459 of file StdMeshMaterial.h.
Referenced by CStdGL::PrepareMaterial(), and StdMeshMaterialPass().
StdCopyStrBuf StdMeshMaterialPass::Name |
Definition at line 411 of file StdMeshMaterial.h.
Referenced by CStdGL::PrepareMaterial().
std::shared_ptr<ProgramInstance> StdMeshMaterialPass::Program |
Definition at line 468 of file StdMeshMaterial.h.
Referenced by CStdGL::PrepareMaterial().
SceneBlendType StdMeshMaterialPass::SceneBlendFactors[2] |
Definition at line 424 of file StdMeshMaterial.h.
Referenced by IsOpaque(), Load(), and StdMeshMaterialPass().
float StdMeshMaterialPass::Shininess |
Definition at line 418 of file StdMeshMaterial.h.
Referenced by Load(), and StdMeshMaterialPass().
float StdMeshMaterialPass::Specular[4] |
Definition at line 416 of file StdMeshMaterial.h.
Referenced by Load(), and StdMeshMaterialPass().
std::vector<StdMeshMaterialTextureUnit> StdMeshMaterialPass::TextureUnits |
Definition at line 412 of file StdMeshMaterial.h.
Referenced by Load(), CStdGL::PrepareMaterial(), and StdSubMeshInstance::SetMaterial().
ShaderInstance StdMeshMaterialPass::VertexShader |
Definition at line 458 of file StdMeshMaterial.h.
Referenced by CStdGL::PrepareMaterial(), and StdMeshMaterialPass().