renamed values.
This commit is contained in:
parent
8f6260f440
commit
e6560dfe5f
@ -20,7 +20,7 @@ struct MaterialCreateConfig
|
||||
|
||||
RenderTargetOutputConfig rt_output; ///<渲染目标输出配置
|
||||
|
||||
uint32 shader_stage; ///<需要的shader
|
||||
uint32 shader_stage_flag_bit; ///<需要的shader
|
||||
|
||||
public:
|
||||
|
||||
@ -30,7 +30,7 @@ public:
|
||||
|
||||
mtl_name=name;
|
||||
|
||||
shader_stage=VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT;
|
||||
shader_stage_flag_bit=VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT;
|
||||
}
|
||||
};//struct MaterialCreateConfig
|
||||
STD_MTL_NAMESPACE_END
|
||||
|
@ -38,9 +38,9 @@ namespace hgl{namespace graph
|
||||
|
||||
const AnsiString &GetName ()const{return config->mtl_name;}
|
||||
|
||||
const uint32 GetShaderStage ()const{return config->shader_stage;}
|
||||
const uint32 GetShaderStage ()const{return config->shader_stage_flag_bit;}
|
||||
|
||||
bool hasShader (const VkShaderStageFlagBits ss)const{return config->shader_stage&ss;}
|
||||
bool hasShader (const VkShaderStageFlagBits ss)const{return config->shader_stage_flag_bit&ss;}
|
||||
|
||||
bool hasVertex ()const{return hasShader(VK_SHADER_STAGE_VERTEX_BIT);}
|
||||
// bool hasTessCtrl ()const{return hasShader(VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT);}
|
||||
@ -63,7 +63,7 @@ namespace hgl{namespace graph
|
||||
MaterialCreateInfo(const MaterialCreateConfig *);
|
||||
~MaterialCreateInfo()=default;
|
||||
|
||||
bool SetMaterialInstance(const AnsiString &mi_glsl_codes,const uint32_t mi_struct_bytes,const uint32_t shader_stage);
|
||||
bool SetMaterialInstance(const AnsiString &mi_glsl_codes,const uint32_t mi_struct_bytes,const uint32_t shader_stage_flag_bit);
|
||||
|
||||
bool AddStruct(const AnsiString &ubo_typename,const AnsiString &codes);
|
||||
bool AddStruct(const ShaderBufferSource &ss){return AddStruct(ss.struct_name,ss.codes);}
|
||||
@ -78,4 +78,3 @@ namespace hgl{namespace graph
|
||||
}//namespace mtl
|
||||
}//namespace graph
|
||||
}//namespace hgl
|
||||
|
||||
|
@ -14,11 +14,11 @@ public:
|
||||
}
|
||||
};//struct ShaderModuleCreateInfo
|
||||
|
||||
ShaderModule *GPUDevice::CreateShaderModule(VkShaderStageFlagBits shader_stage,const uint32_t *spv_data,const size_t spv_size)
|
||||
ShaderModule *GPUDevice::CreateShaderModule(VkShaderStageFlagBits shader_stage_flag_bit,const uint32_t *spv_data,const size_t spv_size)
|
||||
{
|
||||
if(!spv_data||spv_size<4)return(nullptr);
|
||||
|
||||
PipelineShaderStageCreateInfo *pss_ci=new PipelineShaderStageCreateInfo(shader_stage);
|
||||
PipelineShaderStageCreateInfo *pss_ci=new PipelineShaderStageCreateInfo(shader_stage_flag_bit);
|
||||
|
||||
ShaderModuleCreateInfo moduleCreateInfo(spv_data,spv_size);
|
||||
|
||||
|
@ -125,14 +125,14 @@ bool MaterialCreateInfo::AddUBO(const uint32_t flag_bits,const DescriptorSetType
|
||||
* 设置材质实例代码与数据长度
|
||||
* @param glsl_codes 材质实例GLSL代码
|
||||
* @param data_bytes 单个材质实例数据长度
|
||||
* @param shader_stage 具体使用材质实例的shader
|
||||
* @param shader_stage_flag_bit 具体使用材质实例的shader
|
||||
* @return 是否设置成功
|
||||
*/
|
||||
bool MaterialCreateInfo::SetMaterialInstance(const AnsiString &glsl_codes,const uint32_t data_bytes,const uint32_t shader_stage)
|
||||
bool MaterialCreateInfo::SetMaterialInstance(const AnsiString &glsl_codes,const uint32_t data_bytes,const uint32_t shader_stage_flag_bit)
|
||||
{
|
||||
if(mi_data_bytes>0)return(false); //已经有数据了
|
||||
|
||||
if(shader_stage==0)return(false);
|
||||
if(shader_stage_flag_bit==0)return(false);
|
||||
|
||||
if(data_bytes>0&&glsl_codes.Length()<4)return(false);
|
||||
|
||||
@ -153,15 +153,15 @@ bool MaterialCreateInfo::SetMaterialInstance(const AnsiString &glsl_codes,const
|
||||
|
||||
ubo->type=SBS_MaterialInstanceData.struct_name;
|
||||
hgl::strcpy(ubo->name,DESCRIPTOR_NAME_MAX_LENGTH,SBS_MaterialInstanceData.name);
|
||||
ubo->stage_flag=shader_stage;
|
||||
ubo->stage_flag=shader_stage_flag_bit;
|
||||
|
||||
mdi.AddUBO(shader_stage,DescriptorSetType::PerMaterial,ubo);
|
||||
mdi.AddUBO(shader_stage_flag_bit,DescriptorSetType::PerMaterial,ubo);
|
||||
|
||||
auto *it=shader_map.GetDataList();
|
||||
|
||||
for(int i=0;i<shader_map.GetCount();i++)
|
||||
{
|
||||
if((*it)->key&shader_stage)
|
||||
if((*it)->key&shader_stage_flag_bit)
|
||||
{
|
||||
(*it)->value->AddDefine("MI_MAX_COUNT",MI_MAX_COUNT);
|
||||
(*it)->value->SetMaterialInstance(ubo,mi_codes);
|
||||
@ -172,7 +172,7 @@ bool MaterialCreateInfo::SetMaterialInstance(const AnsiString &glsl_codes,const
|
||||
|
||||
vert->AddMaterialInstanceID(); //增加一个材质实例ID
|
||||
|
||||
mi_shader_stage=shader_stage;
|
||||
mi_shader_stage=shader_stage_flag_bit;
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user