diff --git a/inc/hgl/graph/shader/ShaderResource.h b/inc/hgl/graph/shader/ShaderResource.h index c98d03ce..265fd9ab 100644 --- a/inc/hgl/graph/shader/ShaderResource.h +++ b/inc/hgl/graph/shader/ShaderResource.h @@ -15,6 +15,8 @@ VK_NAMESPACE_BEGIN VkFormat format; ///<对应的Vulkan格式(如vec4对应的FMT_RGBA32F) + uint32_t stride; ///<对应Vulkan格式的每数据字节数 + uint binding; };//struct ShaderStage diff --git a/src/SceneGraph/shader/ShaderResource.cpp b/src/SceneGraph/shader/ShaderResource.cpp index 859885df..d3a46a55 100644 --- a/src/SceneGraph/shader/ShaderResource.cpp +++ b/src/SceneGraph/shader/ShaderResource.cpp @@ -39,7 +39,7 @@ VK_NAMESPACE_BEGIN ss->base_type=*data++; ss->component=*data++; - ss->format=VK_NAMESPACE::GetVulkanFormatBySPIRType(ss->base_type,ss->component); + VK_NAMESPACE::GetVulkanFormatStrideBySPIRType(ss->format,ss->stride,ss->base_type,ss->component); str_len=*data++; ss->name.SetString((char *)data,str_len);