optimized codes about CreateMaterial

This commit is contained in:
2023-06-14 16:49:19 +08:00
parent b021b05cb0
commit 82f3ad070b
8 changed files with 126 additions and 136 deletions

View File

@@ -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 相关

View File

@@ -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