增加3D shader

This commit is contained in:
2019-05-28 20:12:55 +08:00
parent 35ebbf9fb6
commit 9bf934ed5c
5 changed files with 31 additions and 13 deletions

View File

@@ -52,6 +52,16 @@ class Renderable;
using CharPointerList=hgl::List<const char *>;
enum class ShaderType
{
Vertex =VK_SHADER_STAGE_VERTEX_BIT,
TessControl =VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,
TessEval =VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
Geometry =VK_SHADER_STAGE_GEOMETRY_BIT,
Fragment =VK_SHADER_STAGE_FRAGMENT_BIT,
Compute =VK_SHADER_STAGE_COMPUTE_BIT
};//
#ifdef _DEBUG
bool CheckStrideBytesByFormat(); ///<检验所有数据类型长度数组是否符合规则
#endif//_DEBUG

View File

@@ -90,7 +90,10 @@ public:
return(true);
}
void PushConstants(VkShaderStageFlagBits stage_flags,uint32_t offset,uint32_t size,const void *pValues){vkCmdPushConstants(cmd_buf,pipeline_layout,stage_flags,offset,size,pValues);}
void PushConstants(ShaderType shader_type,uint32_t offset,uint32_t size,const void *pValues)
{
vkCmdPushConstants(cmd_buf,pipeline_layout,(VkShaderStageFlagBits)shader_type,offset,size,pValues);
}
bool Bind(Renderable *);