25 lines
710 B
C
25 lines
710 B
C
|
#pragma once
|
|||
|
|
|||
|
#include<hgl/graph/mtl/StdMaterial.h>
|
|||
|
#include<hgl/graph/mtl/ShaderBuffer.h>
|
|||
|
|
|||
|
STD_MTL_NAMESPACE_BEGIN
|
|||
|
|
|||
|
/**
|
|||
|
* 所有UBO的基类,它即向生成器提供代码,也可以为渲染器提供数据
|
|||
|
*/
|
|||
|
class UniformBuffer
|
|||
|
{
|
|||
|
private:
|
|||
|
|
|||
|
ShaderBufferSource *sbs;
|
|||
|
|
|||
|
public:
|
|||
|
|
|||
|
virtual const AnsiString &GetStructName ()const{return sbs->struct_name;} ///<取得结构名称
|
|||
|
virtual const AnsiString &GetDefaultValueName ()const{return sbs->name;} ///<取得默认变量名称
|
|||
|
virtual const AnsiString &GetShaderCodes ()const{return sbs->codes;} ///<取得Shader代码
|
|||
|
};//class UniformBuffer
|
|||
|
|
|||
|
STD_MTL_NAMESPACE_END
|