renamed many source of ShaderGen
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/shadergen/MaterialDescriptorManager.h>
|
||||
#include<hgl/shadergen/ShaderCreaterVertex.h>
|
||||
#include<hgl/shadergen/ShaderCreaterGeometry.h>
|
||||
#include<hgl/shadergen/ShaderCreaterFragment.h>
|
||||
#include<hgl/shadergen/ShaderCreaterMap.h>
|
||||
#include<hgl/shadergen/ShaderCreateInfoVertex.h>
|
||||
#include<hgl/shadergen/ShaderCreateInfoGeometry.h>
|
||||
#include<hgl/shadergen/ShaderCreateInfoFragment.h>
|
||||
#include<hgl/shadergen/ShaderCreateInfoMap.h>
|
||||
#include<hgl/graph/VKSamplerType.h>
|
||||
|
||||
SHADERGEN_NAMESPACE_BEGIN
|
||||
class MaterialCreater
|
||||
class MaterialCreateInfo
|
||||
{
|
||||
protected:
|
||||
|
||||
@@ -19,11 +19,11 @@ protected:
|
||||
|
||||
MaterialDescriptorManager mdm; ///<材质描述符管理器
|
||||
|
||||
ShaderCreaterMap shader_map; ///<着色器列表
|
||||
ShaderCreateInfoMap shader_map; ///<着色器列表
|
||||
|
||||
ShaderCreaterVertex *vert;
|
||||
ShaderCreaterGeometry *geom;
|
||||
ShaderCreaterFragment *frag;
|
||||
ShaderCreateInfoVertex *vert;
|
||||
ShaderCreateInfoGeometry *geom;
|
||||
ShaderCreateInfoFragment *frag;
|
||||
|
||||
public:
|
||||
|
||||
@@ -36,14 +36,14 @@ public:
|
||||
bool hasFragment()const{return hasShader(VK_SHADER_STAGE_FRAGMENT_BIT);}
|
||||
// bool hasCompute ()const{return hasShader(VK_SHADER_STAGE_COMPUTE_BIT);}
|
||||
|
||||
ShaderCreaterVertex * GetVS(){return vert;}
|
||||
ShaderCreaterGeometry * GetGS(){return geom;}
|
||||
ShaderCreaterFragment * GetFS(){return frag;}
|
||||
ShaderCreateInfoVertex * GetVS(){return vert;}
|
||||
ShaderCreateInfoGeometry * GetGS(){return geom;}
|
||||
ShaderCreateInfoFragment * GetFS(){return frag;}
|
||||
|
||||
public:
|
||||
|
||||
MaterialCreater(const uint rc,const bool rd,const uint32 ss=VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT);
|
||||
~MaterialCreater()=default;
|
||||
MaterialCreateInfo(const uint rc,const bool rd,const uint32 ss=VK_SHADER_STAGE_VERTEX_BIT|VK_SHADER_STAGE_FRAGMENT_BIT);
|
||||
~MaterialCreateInfo()=default;
|
||||
|
||||
bool AddStruct(const AnsiString &ubo_typename,const AnsiString &codes);
|
||||
|
||||
@@ -51,5 +51,5 @@ public:
|
||||
bool AddSampler(const VkShaderStageFlagBits flag_bits,const DescriptorSetType set_type,const SamplerType &st,const AnsiString &name);
|
||||
|
||||
bool CreateShader();
|
||||
};//class MaterialCreater
|
||||
};//class MaterialCreateInfo
|
||||
SHADERGEN_NAMESPACE_END
|
@@ -1,5 +1,5 @@
|
||||
#ifndef HGL_SHADER_CREATER_INCLUDE
|
||||
#define HGL_SHADER_CREATER_INCLUDE
|
||||
#ifndef HGL_SHADER_CREATE_INFO_INCLUDE
|
||||
#define HGL_SHADER_CREATE_INFO_INCLUDE
|
||||
|
||||
#include<hgl/shadergen/ShaderGenNamespace.h>
|
||||
#include<hgl/graph/VertexAttrib.h>
|
||||
@@ -8,7 +8,7 @@ SHADERGEN_NAMESPACE_BEGIN
|
||||
class MaterialDescriptorManager;
|
||||
class ShaderDescriptorManager;
|
||||
|
||||
class ShaderCreater
|
||||
class ShaderCreateInfo
|
||||
{
|
||||
protected:
|
||||
|
||||
@@ -28,7 +28,7 @@ protected:
|
||||
|
||||
virtual bool ProcHeader(){return(true);}
|
||||
virtual bool ProcSubpassInput();
|
||||
virtual bool ProcInput(ShaderCreater *);
|
||||
virtual bool ProcInput(ShaderCreateInfo *);
|
||||
virtual bool ProcOutput();
|
||||
|
||||
virtual bool ProcStruct();
|
||||
@@ -48,8 +48,8 @@ public:
|
||||
|
||||
public:
|
||||
|
||||
ShaderCreater(VkShaderStageFlagBits ss,MaterialDescriptorManager *m);
|
||||
virtual ~ShaderCreater();
|
||||
ShaderCreateInfo(VkShaderStageFlagBits ss,MaterialDescriptorManager *m);
|
||||
virtual ~ShaderCreateInfo();
|
||||
|
||||
int AddOutput(const graph::VAT &type,const AnsiString &name);
|
||||
int AddOutput(const AnsiString &type,const AnsiString &name);
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
const AnsiString &GetOutputStruct()const{return output_struct;}
|
||||
const AnsiString &GetShaderSource()const{return final_shader;}
|
||||
|
||||
bool CreateShader(ShaderCreater *);
|
||||
};//class ShaderCreater
|
||||
bool CreateShader(ShaderCreateInfo *);
|
||||
};//class ShaderCreateInfo
|
||||
SHADERGEN_NAMESPACE_END
|
||||
#endif//HGL_SHADER_CREATER_INCLUDE
|
||||
#endif//HGL_SHADER_CREATE_INFO_INCLUDE
|
22
inc/hgl/shadergen/ShaderCreateInfoFragment.h
Normal file
22
inc/hgl/shadergen/ShaderCreateInfoFragment.h
Normal file
@@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/shadergen/ShaderCreateInfo.h>
|
||||
|
||||
SHADERGEN_NAMESPACE_BEGIN
|
||||
enum class MaterialType
|
||||
{
|
||||
Color, ///<<3C><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
class ShaderCreateInfoFragment:public ShaderCreateInfo
|
||||
{
|
||||
bool ProcOutput() override;
|
||||
|
||||
public:
|
||||
|
||||
ShaderCreateInfoFragment(MaterialDescriptorManager *m):ShaderCreateInfo(VK_SHADER_STAGE_FRAGMENT_BIT,m){}
|
||||
~ShaderCreateInfoFragment()=default;
|
||||
|
||||
void UseDefaultMain();
|
||||
};
|
||||
SHADERGEN_NAMESPACE_END
|
13
inc/hgl/shadergen/ShaderCreateInfoGeometry.h
Normal file
13
inc/hgl/shadergen/ShaderCreateInfoGeometry.h
Normal file
@@ -0,0 +1,13 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/shadergen/ShaderCreateInfo.h>
|
||||
|
||||
SHADERGEN_NAMESPACE_BEGIN
|
||||
class ShaderCreateInfoGeometry:public ShaderCreateInfo
|
||||
{
|
||||
public:
|
||||
|
||||
ShaderCreateInfoGeometry(MaterialDescriptorManager *m):ShaderCreateInfo(VK_SHADER_STAGE_GEOMETRY_BIT,m){}
|
||||
~ShaderCreateInfoGeometry()=default;
|
||||
};
|
||||
SHADERGEN_NAMESPACE_END
|
25
inc/hgl/shadergen/ShaderCreateInfoMap.h
Normal file
25
inc/hgl/shadergen/ShaderCreateInfoMap.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/shadergen/ShaderCreateInfo.h>
|
||||
|
||||
SHADERGEN_NAMESPACE_BEGIN
|
||||
class ShaderCreateInfoMap:public ObjectMap<VkShaderStageFlagBits,ShaderCreateInfo>
|
||||
{
|
||||
public:
|
||||
|
||||
using ObjectMap<VkShaderStageFlagBits,ShaderCreateInfo>::ObjectMap;
|
||||
|
||||
bool Add(ShaderCreateInfo *sc)
|
||||
{
|
||||
if(!sc)return(false);
|
||||
|
||||
VkShaderStageFlagBits flag=sc->GetShaderStage();
|
||||
|
||||
if(KeyExist(flag))
|
||||
return(false);
|
||||
|
||||
ObjectMap<VkShaderStageFlagBits,ShaderCreateInfo>::Add(flag,sc);
|
||||
return(true);
|
||||
}
|
||||
};
|
||||
SHADERGEN_NAMESPACE_END
|
18
inc/hgl/shadergen/ShaderCreateInfoVertex.h
Normal file
18
inc/hgl/shadergen/ShaderCreateInfoVertex.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/shadergen/ShaderCreateInfo.h>
|
||||
|
||||
SHADERGEN_NAMESPACE_BEGIN
|
||||
class ShaderCreateInfoVertex:public ShaderCreateInfo
|
||||
{
|
||||
bool ProcInput(ShaderCreateInfo *) override;
|
||||
|
||||
public:
|
||||
|
||||
ShaderCreateInfoVertex(MaterialDescriptorManager *m):ShaderCreateInfo(VK_SHADER_STAGE_VERTEX_BIT,m){}
|
||||
~ShaderCreateInfoVertex()=default;
|
||||
|
||||
int AddInput(const graph::VAT &type,const AnsiString &name);
|
||||
int AddInput(const AnsiString &type,const AnsiString &name);
|
||||
};
|
||||
SHADERGEN_NAMESPACE_END
|
@@ -1,22 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/shadergen/ShaderCreater.h>
|
||||
|
||||
SHADERGEN_NAMESPACE_BEGIN
|
||||
enum class MaterialType
|
||||
{
|
||||
Color, ///<<3C><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
class ShaderCreaterFragment:public ShaderCreater
|
||||
{
|
||||
bool ProcOutput() override;
|
||||
|
||||
public:
|
||||
|
||||
ShaderCreaterFragment(MaterialDescriptorManager *m):ShaderCreater(VK_SHADER_STAGE_FRAGMENT_BIT,m){}
|
||||
~ShaderCreaterFragment()=default;
|
||||
|
||||
void UseDefaultMain();
|
||||
};
|
||||
SHADERGEN_NAMESPACE_END
|
@@ -1,13 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/shadergen/ShaderCreater.h>
|
||||
|
||||
SHADERGEN_NAMESPACE_BEGIN
|
||||
class ShaderCreaterGeometry:public ShaderCreater
|
||||
{
|
||||
public:
|
||||
|
||||
ShaderCreaterGeometry(MaterialDescriptorManager *m):ShaderCreater(VK_SHADER_STAGE_GEOMETRY_BIT,m){}
|
||||
~ShaderCreaterGeometry()=default;
|
||||
};
|
||||
SHADERGEN_NAMESPACE_END
|
@@ -1,25 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/shadergen/ShaderCreater.h>
|
||||
|
||||
SHADERGEN_NAMESPACE_BEGIN
|
||||
class ShaderCreaterMap:public ObjectMap<VkShaderStageFlagBits,ShaderCreater>
|
||||
{
|
||||
public:
|
||||
|
||||
using ObjectMap<VkShaderStageFlagBits,ShaderCreater>::ObjectMap;
|
||||
|
||||
bool Add(ShaderCreater *sc)
|
||||
{
|
||||
if(!sc)return(false);
|
||||
|
||||
VkShaderStageFlagBits flag=sc->GetShaderStage();
|
||||
|
||||
if(KeyExist(flag))
|
||||
return(false);
|
||||
|
||||
ObjectMap<VkShaderStageFlagBits,ShaderCreater>::Add(flag,sc);
|
||||
return(true);
|
||||
}
|
||||
};
|
||||
SHADERGEN_NAMESPACE_END
|
@@ -1,18 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/shadergen/ShaderCreater.h>
|
||||
|
||||
SHADERGEN_NAMESPACE_BEGIN
|
||||
class ShaderCreaterVertex:public ShaderCreater
|
||||
{
|
||||
bool ProcInput(ShaderCreater *) override;
|
||||
|
||||
public:
|
||||
|
||||
ShaderCreaterVertex(MaterialDescriptorManager *m):ShaderCreater(VK_SHADER_STAGE_VERTEX_BIT,m){}
|
||||
~ShaderCreaterVertex()=default;
|
||||
|
||||
int AddInput(const graph::VAT &type,const AnsiString &name);
|
||||
int AddInput(const AnsiString &type,const AnsiString &name);
|
||||
};
|
||||
SHADERGEN_NAMESPACE_END
|
@@ -102,7 +102,7 @@ public:
|
||||
}
|
||||
};//struct Standard2DMaterial:public StandardMaterial
|
||||
|
||||
class MaterialCreater;
|
||||
class MaterialCreateInfo;
|
||||
|
||||
Material *CreateMaterial()
|
||||
{
|
||||
|
Reference in New Issue
Block a user