optimized codes about CreateMaterial
This commit is contained in:
@@ -18,7 +18,6 @@
|
||||
#include<hgl/graph/VKDescriptorSetType.h>
|
||||
|
||||
VK_NAMESPACE_BEGIN
|
||||
|
||||
class TileData;
|
||||
class TileFont;
|
||||
class FontSource;
|
||||
@@ -187,8 +186,10 @@ public: //
|
||||
public: //shader & material
|
||||
|
||||
ShaderModule *CreateShaderModule(VkShaderStageFlagBits,const uint32_t *,const size_t);
|
||||
|
||||
Material *CreateMaterial(const UTF8String &mtl_name,ShaderModuleMap *shader_maps,MaterialDescriptorManager *,VertexInput *);
|
||||
|
||||
PipelineLayoutData *CreatePipelineLayoutData(const MaterialDescriptorManager *desc_manager);
|
||||
|
||||
MaterialParameters *CreateMP(const MaterialDescriptorManager *desc_manager,const PipelineLayoutData *pld,const DescriptorSetType &desc_set_type);
|
||||
|
||||
public: //Command Buffer 相关
|
||||
|
||||
|
@@ -11,7 +11,7 @@ using ShaderStageCreateInfoList=List<VkPipelineShaderStageCreateInfo>;
|
||||
|
||||
struct MaterialData
|
||||
{
|
||||
UTF8String name;
|
||||
AnsiString name;
|
||||
|
||||
VertexInput *vertex_input;
|
||||
|
||||
@@ -25,12 +25,12 @@ struct MaterialData
|
||||
|
||||
MaterialParameters *mp_array[DESCRIPTOR_SET_TYPE_COUNT];
|
||||
|
||||
uint32_t mi_data_bytes;
|
||||
uint32_t mi_data_bytes; ///<实例数据大小
|
||||
uint32_t mi_max_count; ///<最大实例数量(注:代表一次drawcall大小,而不是整个的大小)
|
||||
|
||||
private:
|
||||
|
||||
friend class Material;
|
||||
public:
|
||||
|
||||
MaterialData(const AnsiString &n);
|
||||
~MaterialData();
|
||||
};//struct MaterialData
|
||||
|
||||
|
@@ -27,6 +27,7 @@ namespace hgl{namespace graph
|
||||
AnsiString mi_codes; ///<MaterialInstance代码
|
||||
uint32_t mi_data_bytes; ///<MaterialInstance数据长度
|
||||
uint32_t mi_shader_stage; ///<MaterialInstance着色器阶段
|
||||
uint32_t mi_max_count; ///<MaterialInstance最大数量
|
||||
|
||||
ShaderCreateInfoMap shader_map; ///<着色器列表
|
||||
|
||||
@@ -53,10 +54,14 @@ namespace hgl{namespace graph
|
||||
ShaderCreateInfoGeometry * GetGS()const{return geom;}
|
||||
ShaderCreateInfoFragment * GetFS()const{return frag;}
|
||||
|
||||
const ShaderCreateInfoMap &GetShaderMap()const{return shader_map;}
|
||||
|
||||
public:
|
||||
|
||||
const MaterialDescriptorInfo &GetMDI()const{return mdi;}
|
||||
const uint32_t GetMIDataBytes()const{return mi_data_bytes;}
|
||||
|
||||
const uint32_t GetMIDataBytes ()const{return mi_data_bytes;}
|
||||
const uint32_t GetMIMaxCount ()const{return mi_max_count;}
|
||||
|
||||
public:
|
||||
|
||||
|
Reference in New Issue
Block a user