added VertexColor2DMaterial at MaterialCreaterTest.cpp
This commit is contained in:
parent
5ba705cd6b
commit
31b5bb6d4f
@ -63,12 +63,65 @@ void main()
|
||||
|
||||
mc.CreateShader();
|
||||
|
||||
return(false);
|
||||
return(true);
|
||||
}
|
||||
|
||||
bool VertexColor2DMaterial()
|
||||
{
|
||||
MaterialCreater mc(1,false);
|
||||
|
||||
//vertex部分
|
||||
{
|
||||
ShaderCreaterVertex *vsc=mc.GetVS();
|
||||
|
||||
vsc->AddInput("vec2","Position");
|
||||
vsc->AddInput("vec4","Color");
|
||||
|
||||
vsc->AddOutput("vec4","Color");
|
||||
|
||||
vsc->SetShaderCodes(R"(
|
||||
void main()
|
||||
{
|
||||
Output.Color=Color;
|
||||
|
||||
gl_Position=vec4(Position,0,1);
|
||||
})");
|
||||
}
|
||||
|
||||
//fragment部分
|
||||
{
|
||||
ShaderCreaterFragment *fsc=mc.GetFS();
|
||||
|
||||
fsc->AddOutput("vec4","Color");
|
||||
|
||||
fsc->SetShaderCodes(R"(
|
||||
void main()
|
||||
{
|
||||
Color=Input.Color;
|
||||
}
|
||||
)");
|
||||
}
|
||||
|
||||
mc.CreateShader();
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
namespace glsl_compiler
|
||||
{
|
||||
bool Init();
|
||||
void Close();
|
||||
}//namespace glsl_compiler
|
||||
|
||||
int main()
|
||||
{
|
||||
if(!glsl_compiler::Init())
|
||||
return -1;
|
||||
|
||||
PureColor2DMaterial();
|
||||
VertexColor2DMaterial();
|
||||
|
||||
glsl_compiler::Close();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -38,6 +38,8 @@ protected:
|
||||
virtual bool ProcConst();
|
||||
virtual bool ProcSampler();
|
||||
|
||||
bool CompileToSPV();
|
||||
|
||||
public:
|
||||
|
||||
ShaderDescriptorManager *sdm;
|
||||
@ -58,12 +60,9 @@ public:
|
||||
}
|
||||
|
||||
const AnsiString &GetOutputStruct()const{return output_struct;}
|
||||
|
||||
bool CreateShader(ShaderCreater *);
|
||||
|
||||
const AnsiString &GetShaderSource()const{return final_shader;}
|
||||
|
||||
bool CompileToSPV();
|
||||
bool CreateShader(ShaderCreater *);
|
||||
};//class ShaderCreater
|
||||
SHADERGEN_NAMESPACE_END
|
||||
#endif//HGL_SHADER_CREATER_INCLUDE
|
||||
|
@ -37,8 +37,8 @@ SET(GLSL_COMPILER_SOURCE GLSLCompiler.h
|
||||
|
||||
SOURCE_GROUP("GLSL Compiler" FILES ${GLSL_COMPILER_SOURCE})
|
||||
|
||||
#SOURCE_GROUP("Pixel Material Components" FILES ${SHADERGEN_HEADER_FILES}
|
||||
# ${SHADERGEN_SOURCE_FILES})
|
||||
SOURCE_GROUP("Material Creater\\DescriptorManager" FILES ${SHADERGEN_HEADER_FILES}
|
||||
${SHADERGEN_SOURCE_FILES})
|
||||
|
||||
add_cm_library(ULRE.ShaderGen "ULRE" ${SHADERGEN_HEADER_FILES}
|
||||
${SHADERGEN_SOURCE_FILES}
|
||||
|
@ -257,19 +257,21 @@ bool ShaderCreater::CreateShader(ShaderCreater *last_sc)
|
||||
|
||||
#endif//_DEBUG
|
||||
|
||||
if(!CompileToSPV())
|
||||
return(false);
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
bool ShaderCreater::CompileToSPV()
|
||||
{
|
||||
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);
|
||||
|
||||
glsl_compiler::Free(spv_data);
|
||||
|
||||
|
||||
return(true);
|
||||
}
|
||||
SHADERGEN_NAMESPACE_END
|
||||
|
Loading…
x
Reference in New Issue
Block a user