Added ProcOutput() at ShaderCreaterFragment
This commit is contained in:
Submodule CMSceneGraph updated: b7789d3b19...6e30c0c2ca
@@ -10,6 +10,8 @@ enum class MaterialType
|
||||
|
||||
class ShaderCreaterFragment:public ShaderCreater
|
||||
{
|
||||
bool ProcOutput() override;
|
||||
|
||||
public:
|
||||
|
||||
ShaderCreaterFragment(MaterialDescriptorManager *m):ShaderCreater(VK_SHADER_STAGE_FRAGMENT_BIT,m){}
|
||||
|
@@ -9,15 +9,42 @@ void ShaderCreaterFragment::UseDefaultMain()
|
||||
const auto &output_list=sdm.GetShaderStageIO().output;
|
||||
|
||||
const uint count=output_list.GetCount();
|
||||
ShaderStage **o=output_list.GetData();
|
||||
|
||||
for(uint i=0;i<count;i++)
|
||||
{
|
||||
shader_codes+="\t";
|
||||
shader_codes+=output_list[i]->name;
|
||||
shader_codes+=(*o)->name;
|
||||
shader_codes+="=Get";
|
||||
shader_codes+=output_list[i]->name;
|
||||
shader_codes+=(*o)->name;
|
||||
shader_codes+="();\n";
|
||||
|
||||
++o;
|
||||
}
|
||||
|
||||
shader_codes+="}";
|
||||
}
|
||||
|
||||
bool ShaderCreaterFragment::ProcOutput()
|
||||
{
|
||||
const auto &output_list=sdm.GetShaderStageIO().output;
|
||||
|
||||
const uint count=output_list.GetCount();
|
||||
ShaderStage **o=output_list.GetData();
|
||||
|
||||
for(uint i=0;i<count;i++)
|
||||
{
|
||||
final_shader+="layout(location=";
|
||||
final_shader+=AnsiString::numberOf(i);
|
||||
final_shader+=") out ";
|
||||
final_shader+=GetShaderStageTypeName(*o);
|
||||
final_shader+=" ";
|
||||
final_shader+=(*o)->name;
|
||||
final_shader+=";\n";
|
||||
|
||||
++o;
|
||||
}
|
||||
|
||||
return(true);
|
||||
}
|
||||
SHADERGEN_NAMESPACE_END
|
Reference in New Issue
Block a user