25 #ifndef GRAPHICS_SHADER_SHADERSURFACE_H 26 #define GRAPHICS_SHADER_SHADERSURFACE_H 28 #include "glm/mat4x4.hpp" 36 #define SHADER_SURFACE_WIREFRAME (0x00000001) // Surface should be rendered in wireframe mode. 37 #define SHADER_SURFACE_INSTANCED (0x00000002) // Surface is used for mesh instancing. 38 #define SHADER_SURFACE_NOCULL (0x00000004) // No face culling is applied. 115 #endif // GRAPHICS_SHADER_SHADERSURFACE_H
void * getVariableData(uint32 index) const
Shader::ShaderVariableType getVariableType(uint32 index) const
A class holding an UTF-8 string.
void bindTextureView(Shader::ShaderProgram *program, const glm::mat4 *t)
void setVariableExternal(uint32 index, void *loc)
Shader::ShaderObject * _vertShader
void bindProgram(Shader::ShaderProgram *program)
void delSurfaceVar(uint32 index)
uint32 _objectModelviewIndex
void setVariableInternal(uint32 index)
The global shader manager.
ShaderSurface(Shader::ShaderObject *vertShader, const Common::UString &name="unnamed")
ShaderVariableType
Enum of all supported shader variable parsing and automatic binding.
void addUBO(uint32 index, GLuint glid)
uint32 getVariableCount() const
std::vector< ShaderSurfaceVariable > _variableData
void * genSurfaceVar(uint32 index)
bool isVariableOwned(uint32 index) const
Shader::ShaderObject * getVertexShader() const
uint32 getVariableFlags(uint32 index) const
void setFlags(uint32 flags)
const Common::UString & getName() const
std::vector< Shader::ShaderUBO > _uboArray
const Common::UString & getVariableName(uint32 index) const
void bindObjectModelview(Shader::ShaderProgram *program, const glm::mat4 *t)