used simply VAT at ShaderCreateInfoVertex.h

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-05-13 14:59:46 +08:00
parent 8340209697
commit 9316135942
3 changed files with 6 additions and 13 deletions

@ -1 +1 @@
Subproject commit f57401620a52eaf3fdaaf5410beb9528aadaa49a Subproject commit b10387ad563ced36feb5cdd8eea3cdaed6e68bf6

View File

@ -21,31 +21,24 @@ namespace hgl
void AddMaterialID() void AddMaterialID()
{ {
constexpr const VAT vat{VertexAttribType::BaseType::UInt,1}; //使用uint8 AddInput(VAT_UINT,VAN::MaterialInstanceID,VK_VERTEX_INPUT_RATE_INSTANCE,VertexInputGroup::MaterialInstanceID);
AddInput(vat,VAN::MaterialInstanceID,VK_VERTEX_INPUT_RATE_VERTEX,VertexInputGroup::MaterialInstanceID);
} }
void AddJoint() void AddJoint()
{ {
constexpr const VAT id {VertexAttribType::BaseType::UInt,4}; //使用uint8[4] AddInput(VAT_UVEC4, VAN::JointID, VK_VERTEX_INPUT_RATE_VERTEX,VertexInputGroup::JointID);
constexpr const VAT weight {VertexAttribType::BaseType::Float,4}; //使用uint8[4] AddInput(VAT_VEC4, VAN::JointWeight,VK_VERTEX_INPUT_RATE_VERTEX,VertexInputGroup::JointWeight);
AddInput(id, VAN::JointID, VK_VERTEX_INPUT_RATE_VERTEX,VertexInputGroup::JointID);
AddInput(weight,VAN::JointWeight,VK_VERTEX_INPUT_RATE_VERTEX,VertexInputGroup::JointWeight);
} }
void AddLocalToWorld() void AddLocalToWorld()
{ {
constexpr const VAT vat{VertexAttribType::BaseType::Float,4}; //使用float[4]
char name[]= "LocalToWorld_?"; char name[]= "LocalToWorld_?";
for(uint i=0;i<4;i++) for(uint i=0;i<4;i++)
{ {
name[sizeof(name)-2]='0'+i; name[sizeof(name)-2]='0'+i;
AddInput(vat,name,VK_VERTEX_INPUT_RATE_INSTANCE,VertexInputGroup::LocalToWorld); AddInput(VAT_VEC4,name,VK_VERTEX_INPUT_RATE_INSTANCE,VertexInputGroup::LocalToWorld);
} }
} }
};//class ShaderCreateInfoVertex:public ShaderCreateInfo };//class ShaderCreateInfoVertex:public ShaderCreateInfo

View File

@ -86,7 +86,7 @@ namespace hgl
uint mi_count; ///<材质实例数量 uint mi_count; ///<材质实例数量
uint mi_size; ///<单个材质实例数量长度 uint mi_size; ///<单个材质实例数量长度
DeviceBuffer *mi_data_buffer; ///<材质实例数据UBO DeviceBuffer *mi_data_buffer; ///<材质实例数据UBO/SSBO
VBO *mi_id; VBO *mi_id;
VkBuffer mi_id_buffer; VkBuffer mi_id_buffer;