added VertexColor2DMaterial at MaterialCreaterTest.cpp
This commit is contained in:
parent
5ba705cd6b
commit
31b5bb6d4f
@ -63,12 +63,65 @@ void main()
|
|||||||
|
|
||||||
mc.CreateShader();
|
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()
|
int main()
|
||||||
{
|
{
|
||||||
|
if(!glsl_compiler::Init())
|
||||||
|
return -1;
|
||||||
|
|
||||||
PureColor2DMaterial();
|
PureColor2DMaterial();
|
||||||
|
VertexColor2DMaterial();
|
||||||
|
|
||||||
|
glsl_compiler::Close();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,8 @@ protected:
|
|||||||
virtual bool ProcConst();
|
virtual bool ProcConst();
|
||||||
virtual bool ProcSampler();
|
virtual bool ProcSampler();
|
||||||
|
|
||||||
|
bool CompileToSPV();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
ShaderDescriptorManager *sdm;
|
ShaderDescriptorManager *sdm;
|
||||||
@ -58,12 +60,9 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
const AnsiString &GetOutputStruct()const{return output_struct;}
|
const AnsiString &GetOutputStruct()const{return output_struct;}
|
||||||
|
|
||||||
bool CreateShader(ShaderCreater *);
|
|
||||||
|
|
||||||
const AnsiString &GetShaderSource()const{return final_shader;}
|
const AnsiString &GetShaderSource()const{return final_shader;}
|
||||||
|
|
||||||
bool CompileToSPV();
|
bool CreateShader(ShaderCreater *);
|
||||||
};//class ShaderCreater
|
};//class ShaderCreater
|
||||||
SHADERGEN_NAMESPACE_END
|
SHADERGEN_NAMESPACE_END
|
||||||
#endif//HGL_SHADER_CREATER_INCLUDE
|
#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("GLSL Compiler" FILES ${GLSL_COMPILER_SOURCE})
|
||||||
|
|
||||||
#SOURCE_GROUP("Pixel Material Components" FILES ${SHADERGEN_HEADER_FILES}
|
SOURCE_GROUP("Material Creater\\DescriptorManager" FILES ${SHADERGEN_HEADER_FILES}
|
||||||
# ${SHADERGEN_SOURCE_FILES})
|
${SHADERGEN_SOURCE_FILES})
|
||||||
|
|
||||||
add_cm_library(ULRE.ShaderGen "ULRE" ${SHADERGEN_HEADER_FILES}
|
add_cm_library(ULRE.ShaderGen "ULRE" ${SHADERGEN_HEADER_FILES}
|
||||||
${SHADERGEN_SOURCE_FILES}
|
${SHADERGEN_SOURCE_FILES}
|
||||||
|
@ -257,19 +257,21 @@ bool ShaderCreater::CreateShader(ShaderCreater *last_sc)
|
|||||||
|
|
||||||
#endif//_DEBUG
|
#endif//_DEBUG
|
||||||
|
|
||||||
|
if(!CompileToSPV())
|
||||||
|
return(false);
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShaderCreater::CompileToSPV()
|
bool ShaderCreater::CompileToSPV()
|
||||||
{
|
{
|
||||||
if(main_codes.IsEmpty())
|
|
||||||
return(false);
|
|
||||||
|
|
||||||
glsl_compiler::SPVData *spv_data=glsl_compiler::Compile(shader_stage,final_shader.c_str());
|
glsl_compiler::SPVData *spv_data=glsl_compiler::Compile(shader_stage,final_shader.c_str());
|
||||||
|
|
||||||
if(!spv_data)
|
if(!spv_data)
|
||||||
return(false);
|
return(false);
|
||||||
|
|
||||||
|
glsl_compiler::Free(spv_data);
|
||||||
|
|
||||||
|
return(true);
|
||||||
}
|
}
|
||||||
SHADERGEN_NAMESPACE_END
|
SHADERGEN_NAMESPACE_END
|
||||||
|
Loading…
x
Reference in New Issue
Block a user