Set Base-class StdMaterial to Std2DMaterial/Std3DMaterial
This commit is contained in:
parent
8dc9846ae8
commit
0524c51feb
@ -10,16 +10,41 @@
|
||||
|
||||
#define STD_MTL_FUNC NAMESPACE_USING using namespace hgl::graph::mtl::func;
|
||||
|
||||
|
||||
namespace hgl
|
||||
{
|
||||
namespace graph
|
||||
{
|
||||
class ShaderCreateInfoVertex;
|
||||
class ShaderCreateInfoGeometry;
|
||||
class ShaderCreateInfoFragment;
|
||||
|
||||
namespace mtl
|
||||
{
|
||||
namespace func
|
||||
{
|
||||
}//namespace func
|
||||
|
||||
class MaterialCreateInfo;
|
||||
|
||||
class StdMaterial
|
||||
{
|
||||
protected:
|
||||
|
||||
virtual bool BeginCustomShader(){return true;/*some work before creating shader*/};
|
||||
|
||||
virtual bool CustomVertexShader(ShaderCreateInfoVertex *)=0;
|
||||
virtual bool CustomGeometryShader(ShaderCreateInfoGeometry *){return false;}
|
||||
virtual bool CustomFragmentShader(ShaderCreateInfoFragment *)=0;
|
||||
|
||||
virtual bool EndCustomShader(){return true;/*some work after creating shader*/};
|
||||
|
||||
public:
|
||||
|
||||
StdMaterial()=default;
|
||||
virtual ~StdMaterial()=default;
|
||||
|
||||
virtual MaterialCreateInfo *Create()=0;
|
||||
};//class StdMaterial
|
||||
}//namespace mtl
|
||||
}//namespace graph
|
||||
}//namespace hgl
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include"common/MFRectPrimitive.h"
|
||||
|
||||
STD_MTL_NAMESPACE_BEGIN
|
||||
|
||||
Std2DMaterial::Std2DMaterial(const Material2DCreateConfig *c)
|
||||
{
|
||||
mci=new MaterialCreateInfo(c);
|
||||
|
@ -2,46 +2,28 @@
|
||||
|
||||
#include<hgl/graph/mtl/StdMaterial.h>
|
||||
|
||||
namespace hgl
|
||||
STD_MTL_NAMESPACE_BEGIN
|
||||
|
||||
struct Material2DCreateConfig;
|
||||
|
||||
class Std2DMaterial:public StdMaterial
|
||||
{
|
||||
namespace graph
|
||||
{
|
||||
struct GPUDeviceAttribute;
|
||||
protected:
|
||||
|
||||
class ShaderCreateInfoVertex;
|
||||
class ShaderCreateInfoGeometry;
|
||||
class ShaderCreateInfoFragment;
|
||||
const Material2DCreateConfig *cfg;
|
||||
|
||||
namespace mtl
|
||||
{
|
||||
class MaterialCreateInfo;
|
||||
struct Material2DCreateConfig;
|
||||
MaterialCreateInfo *mci;
|
||||
|
||||
class Std2DMaterial
|
||||
{
|
||||
protected:
|
||||
protected:
|
||||
|
||||
const Material2DCreateConfig *cfg;
|
||||
virtual bool CustomVertexShader(ShaderCreateInfoVertex *) override;
|
||||
|
||||
MaterialCreateInfo *mci;
|
||||
public:
|
||||
|
||||
protected:
|
||||
|
||||
virtual bool BeginCustomShader(){return true;/*some work before creating shader*/};
|
||||
|
||||
virtual bool CustomVertexShader(ShaderCreateInfoVertex *);
|
||||
virtual bool CustomGeometryShader(ShaderCreateInfoGeometry *){return false;}
|
||||
virtual bool CustomFragmentShader(ShaderCreateInfoFragment *)=0;
|
||||
|
||||
virtual bool EndCustomShader(){return true;/*some work after creating shader*/};
|
||||
|
||||
public:
|
||||
|
||||
Std2DMaterial(const Material2DCreateConfig *);
|
||||
virtual ~Std2DMaterial()=default;
|
||||
Std2DMaterial(const Material2DCreateConfig *);
|
||||
virtual ~Std2DMaterial()=default;
|
||||
|
||||
virtual MaterialCreateInfo *Create();
|
||||
};//class Std2DMaterial
|
||||
}//namespace mtl
|
||||
}//namespace graph
|
||||
}//namespace hgl
|
||||
virtual MaterialCreateInfo *Create() override;
|
||||
};//class Std2DMaterial
|
||||
|
||||
STD_MTL_NAMESPACE_END
|
||||
|
@ -2,46 +2,28 @@
|
||||
|
||||
#include<hgl/graph/mtl/StdMaterial.h>
|
||||
|
||||
namespace hgl
|
||||
STD_MTL_NAMESPACE_BEGIN
|
||||
|
||||
struct Material3DCreateConfig;
|
||||
|
||||
class Std3DMaterial:public StdMaterial
|
||||
{
|
||||
namespace graph
|
||||
{
|
||||
struct GPUDeviceAttribute;
|
||||
protected:
|
||||
|
||||
class ShaderCreateInfoVertex;
|
||||
class ShaderCreateInfoGeometry;
|
||||
class ShaderCreateInfoFragment;
|
||||
const Material3DCreateConfig *cfg;
|
||||
|
||||
namespace mtl
|
||||
{
|
||||
class MaterialCreateInfo;
|
||||
struct Material3DCreateConfig;
|
||||
MaterialCreateInfo *mci;
|
||||
|
||||
class Std3DMaterial
|
||||
{
|
||||
protected:
|
||||
protected:
|
||||
|
||||
const Material3DCreateConfig *cfg;
|
||||
virtual bool CustomVertexShader(ShaderCreateInfoVertex *) override;
|
||||
|
||||
MaterialCreateInfo *mci;
|
||||
public:
|
||||
|
||||
protected:
|
||||
|
||||
virtual bool BeginCustomShader(){return true;/*some work before creating shader*/};
|
||||
|
||||
virtual bool CustomVertexShader(ShaderCreateInfoVertex *);
|
||||
virtual bool CustomGeometryShader(ShaderCreateInfoGeometry *){return false;}
|
||||
virtual bool CustomFragmentShader(ShaderCreateInfoFragment *)=0;
|
||||
|
||||
virtual bool EndCustomShader(){return true;/*some work after creating shader*/};
|
||||
|
||||
public:
|
||||
|
||||
Std3DMaterial(const Material3DCreateConfig *);
|
||||
virtual ~Std3DMaterial()=default;
|
||||
Std3DMaterial(const Material3DCreateConfig *);
|
||||
virtual ~Std3DMaterial()=default;
|
||||
|
||||
virtual MaterialCreateInfo *Create();
|
||||
};//class Std3DMaterial
|
||||
}//namespace mtl
|
||||
}//namespace graph
|
||||
}//namespace hgl
|
||||
virtual MaterialCreateInfo *Create() override;
|
||||
};//class Std3DMaterial
|
||||
|
||||
STD_MTL_NAMESPACE_END
|
Loading…
x
Reference in New Issue
Block a user