#include <StdMeshMaterial.h>
Classes | |
class | Iterator |
Public Types | |
enum | ShaderLoadFlag { SMM_AcceptExisting = 1 , SMM_ForceReload = 2 } |
Public Member Functions | |
void | Clear () |
std::set< StdCopyStrBuf > | Parse (const char *mat_script, const char *filename, StdMeshMaterialLoader &loader) |
const StdMeshMaterial * | GetMaterial (const char *material_name) const |
Iterator | Begin () |
Iterator | End () |
void | Remove (const StdStrBuf &name, class StdMeshMaterialUpdate *update) |
Iterator | Remove (const Iterator &iter, class StdMeshMaterialUpdate *update) |
const StdMeshMaterialShader * | AddShader (const char *filename, const char *name, const char *language, StdMeshMaterialShaderType type, const char *text, uint32_t load_flags) |
const StdMeshMaterialProgram * | AddProgram (const char *name, StdMeshMaterialLoader &loader, const StdMeshMaterialPass::ShaderInstance &fragment_shader, const StdMeshMaterialPass::ShaderInstance &vertex_shader, const StdMeshMaterialPass::ShaderInstance &geometry_shader) |
const StdMeshMaterialShader * | GetFragmentShader (const char *name) const |
const StdMeshMaterialShader * | GetVertexShader (const char *name) const |
const StdMeshMaterialShader * | GetGeometryShader (const char *name) const |
Friends | |
class | StdMeshMaterialUpdate |
Definition at line 517 of file StdMeshMaterial.h.
const StdMeshMaterialProgram * StdMeshMatManager::AddProgram | ( | const char * | name, |
StdMeshMaterialLoader & | loader, | ||
const StdMeshMaterialPass::ShaderInstance & | fragment_shader, | ||
const StdMeshMaterialPass::ShaderInstance & | vertex_shader, | ||
const StdMeshMaterialPass::ShaderInstance & | geometry_shader | ||
) |
Definition at line 1664 of file StdMeshMaterial.cpp.
References StdMeshMaterialProgram::AddParameterNames(), StdMeshMaterialProgram::Compile(), StdMeshMaterialProgram::IsCompiled(), StdMeshMaterialPass::ShaderInstance::Parameters, and StdMeshMaterialPass::ShaderInstance::Shader.
Referenced by CStdGL::PrepareMaterial().
const StdMeshMaterialShader * StdMeshMatManager::AddShader | ( | const char * | filename, |
const char * | name, | ||
const char * | language, | ||
StdMeshMaterialShaderType | type, | ||
const char * | text, | ||
uint32_t | load_flags | ||
) |
Definition at line 1626 of file StdMeshMaterial.cpp.
References SMMS_FRAGMENT, SMMS_GEOMETRY, SMMS_VERTEX, and C4ScriptGuiWindowPropertyName::text.
Referenced by LoadShader(), and CStdGL::PrepareMaterial().
|
inline |
Definition at line 561 of file StdMeshMaterial.h.
Referenced by C4DefGraphicsPtrBackup::Add().
void StdMeshMatManager::Clear | ( | ) |
Definition at line 1483 of file StdMeshMaterial.cpp.
Referenced by C4Game::Clear().
|
inline |
Definition at line 562 of file StdMeshMaterial.h.
Referenced by C4DefGraphicsPtrBackup::Add().
const StdMeshMaterialShader * StdMeshMatManager::GetFragmentShader | ( | const char * | name | ) | const |
Definition at line 1605 of file StdMeshMaterial.cpp.
const StdMeshMaterialShader * StdMeshMatManager::GetGeometryShader | ( | const char * | name | ) | const |
Definition at line 1619 of file StdMeshMaterial.cpp.
const StdMeshMaterial * StdMeshMatManager::GetMaterial | ( | const char * | material_name | ) | const |
Definition at line 1580 of file StdMeshMaterial.cpp.
Referenced by StdSubMeshInstance::CompileFunc(), StdMeshLoader::LoadMeshBinary(), StdMeshLoader::LoadMeshXml(), and StdMeshMaterialUpdate::Update().
const StdMeshMaterialShader * StdMeshMatManager::GetVertexShader | ( | const char * | name | ) | const |
Definition at line 1612 of file StdMeshMaterial.cpp.
std::set< StdCopyStrBuf > StdMeshMatManager::Parse | ( | const char * | mat_script, |
const char * | filename, | ||
StdMeshMaterialLoader & | loader | ||
) |
Definition at line 1493 of file StdMeshMaterial.cpp.
References StdMeshMaterialParserCtx::Advance(), StdMeshMaterialParserCtx::AdvanceRequired(), StdMeshMaterialParserCtx::Error(), StdMeshMaterialParserCtx::ErrorUnexpectedIdentifier(), StdMeshMaterialParserCtx::FileName, StdMeshMaterial::FileName, FormatString(), StdStrBuf::getData(), StdMeshMaterialParserCtx::Line, StdMeshMaterial::Line, StdMeshMaterial::Load(), LoadShader(), StdMeshMaterial::Name, pDraw, C4Draw::PrepareMaterial(), SMMS_FRAGMENT, SMMS_GEOMETRY, SMMS_VERTEX, TOKEN_BRACE_OPEN, TOKEN_COLON, TOKEN_EOF, and TOKEN_IDTF.
StdMeshMatManager::Iterator StdMeshMatManager::Remove | ( | const Iterator & | iter, |
class StdMeshMaterialUpdate * | update | ||
) |
Definition at line 1587 of file StdMeshMaterial.cpp.
void StdMeshMatManager::Remove | ( | const StdStrBuf & | name, |
class StdMeshMaterialUpdate * | update | ||
) |
Definition at line 1596 of file StdMeshMaterial.cpp.
Referenced by C4DefGraphicsPtrBackup::Add().
|
friend |
Definition at line 519 of file StdMeshMaterial.h.