renamed many values.
This commit is contained in:
parent
ece7fa5f32
commit
2cc0dca050
@ -10,7 +10,10 @@
|
|||||||
SHADERGEN_NAMESPACE_BEGIN
|
SHADERGEN_NAMESPACE_BEGIN
|
||||||
class MaterialCreater
|
class MaterialCreater
|
||||||
{
|
{
|
||||||
uint rt_count; ///<输出的RT数量
|
protected:
|
||||||
|
|
||||||
|
uint rt_color_count; ///<输出的RT数量
|
||||||
|
bool rt_depth; ///<是否输出深度
|
||||||
|
|
||||||
uint32_t shader_stage; ///<着色器阶段
|
uint32_t shader_stage; ///<着色器阶段
|
||||||
|
|
||||||
@ -39,7 +42,7 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
MaterialCreater(const uint rc,const uint32 ss=VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT);
|
MaterialCreater(const uint rc,const bool rd,const uint32 ss=VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT);
|
||||||
~MaterialCreater()=default;
|
~MaterialCreater()=default;
|
||||||
|
|
||||||
bool AddStruct(const AnsiString &ubo_typename,const AnsiString &codes);
|
bool AddStruct(const AnsiString &ubo_typename,const AnsiString &codes);
|
||||||
|
@ -14,7 +14,7 @@ protected:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
AnsiString shader_codes;
|
AnsiString main_codes;
|
||||||
|
|
||||||
AnsiString output_struct;
|
AnsiString output_struct;
|
||||||
|
|
||||||
@ -55,7 +55,7 @@ public:
|
|||||||
|
|
||||||
void SetShaderCodes(const AnsiString &str)
|
void SetShaderCodes(const AnsiString &str)
|
||||||
{
|
{
|
||||||
shader_codes=str;
|
main_codes=str;
|
||||||
}
|
}
|
||||||
|
|
||||||
const AnsiString &GetOutputStruct()const{return output_struct;}
|
const AnsiString &GetOutputStruct()const{return output_struct;}
|
||||||
|
@ -14,6 +14,5 @@ public:
|
|||||||
|
|
||||||
int AddInput(const VAT &type,const AnsiString &name);
|
int AddInput(const VAT &type,const AnsiString &name);
|
||||||
int AddInput(const AnsiString &type,const AnsiString &name);
|
int AddInput(const AnsiString &type,const AnsiString &name);
|
||||||
|
|
||||||
};
|
};
|
||||||
SHADERGEN_NAMESPACE_END
|
SHADERGEN_NAMESPACE_END
|
||||||
|
@ -4,9 +4,11 @@ using namespace hgl;
|
|||||||
using namespace hgl::graph;
|
using namespace hgl::graph;
|
||||||
|
|
||||||
SHADERGEN_NAMESPACE_BEGIN
|
SHADERGEN_NAMESPACE_BEGIN
|
||||||
MaterialCreater::MaterialCreater(const uint rc,const uint32 ss)
|
MaterialCreater::MaterialCreater(const uint rc,const bool rd,const uint32 ss)
|
||||||
{
|
{
|
||||||
rt_count=rc;
|
rt_color_count=rc;
|
||||||
|
rt_depth=rd;
|
||||||
|
|
||||||
shader_stage=ss;
|
shader_stage=ss;
|
||||||
|
|
||||||
if(hasVertex ())shader_map.Add(vert=new ShaderCreaterVertex (&mdm));else vert=nullptr;
|
if(hasVertex ())shader_map.Add(vert=new ShaderCreaterVertex (&mdm));else vert=nullptr;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#include<hgl/shadergen/ShaderCreater.h>
|
#include<hgl/shadergen/ShaderCreater.h>
|
||||||
|
#include"GLSLCompiler.h"
|
||||||
|
|
||||||
SHADERGEN_NAMESPACE_BEGIN
|
SHADERGEN_NAMESPACE_BEGIN
|
||||||
int ShaderCreater::AddOutput(const VAT &type,const AnsiString &name)
|
int ShaderCreater::AddOutput(const VAT &type,const AnsiString &name)
|
||||||
@ -230,14 +231,21 @@ bool ShaderCreater::CreateShader(ShaderCreater *last_sc)
|
|||||||
|
|
||||||
ProcOutput();
|
ProcOutput();
|
||||||
|
|
||||||
|
final_shader+="\n";
|
||||||
|
|
||||||
|
final_shader+=main_codes;
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShaderCreater::CompileToSPV()
|
bool ShaderCreater::CompileToSPV()
|
||||||
{
|
{
|
||||||
if(shader_codes.IsEmpty())
|
if(main_codes.IsEmpty())
|
||||||
|
return(false);
|
||||||
|
|
||||||
|
glsl_compiler::SPVData *spv_data=glsl_compiler::Compile(shader_stage,final_shader.c_str());
|
||||||
|
|
||||||
|
if(!spv_data)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ SHADERGEN_NAMESPACE_BEGIN
|
|||||||
|
|
||||||
void ShaderCreaterFragment::UseDefaultMain()
|
void ShaderCreaterFragment::UseDefaultMain()
|
||||||
{
|
{
|
||||||
shader_codes="void main()\n{\n";
|
main_codes="void main()\n{\n";
|
||||||
|
|
||||||
const auto &output_list=sdm.GetShaderStageIO().output;
|
const auto &output_list=sdm.GetShaderStageIO().output;
|
||||||
|
|
||||||
@ -13,16 +13,16 @@ void ShaderCreaterFragment::UseDefaultMain()
|
|||||||
|
|
||||||
for(uint i=0;i<count;i++)
|
for(uint i=0;i<count;i++)
|
||||||
{
|
{
|
||||||
shader_codes+="\t";
|
main_codes+="\t";
|
||||||
shader_codes+=(*o)->name;
|
main_codes+=(*o)->name;
|
||||||
shader_codes+="=Get";
|
main_codes+="=Get";
|
||||||
shader_codes+=(*o)->name;
|
main_codes+=(*o)->name;
|
||||||
shader_codes+="();\n";
|
main_codes+="();\n";
|
||||||
|
|
||||||
++o;
|
++o;
|
||||||
}
|
}
|
||||||
|
|
||||||
shader_codes+="}";
|
main_codes+="}";
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShaderCreaterFragment::ProcOutput()
|
bool ShaderCreaterFragment::ProcOutput()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user