删除旧的材质系统
This commit is contained in:
parent
4b8ccbed17
commit
2a4445f6e8
@ -1,68 +0,0 @@
|
||||
#ifndef HGL_GRAPH_MATERIAL_INCLUDE
|
||||
#define HGL_GRAPH_MATERIAL_INCLUDE
|
||||
|
||||
#include<hgl/graph/material/Component.h>
|
||||
#include<hgl/type/String.h>
|
||||
|
||||
MATERIAL_NAMESPACE_BEGIN
|
||||
enum class BlendMode
|
||||
{
|
||||
Opaque=0,
|
||||
Mask,
|
||||
Alpha,
|
||||
Additive,
|
||||
Subtractive,
|
||||
Modulate,
|
||||
PreMultiAlpha, // 预计算好一半的Alpha
|
||||
|
||||
BEGIN_RANGE =Opaque,
|
||||
END_RANGE =PreMultiAlpha,
|
||||
RANGE_SIZE =END_RANGE-BEGIN_RANGE+1
|
||||
};//enum class BlendMode
|
||||
|
||||
/**
|
||||
* 延迟渲染阶段流程
|
||||
*/
|
||||
enum class DeferredRenderPass
|
||||
{
|
||||
Opaque, ///<不透明部分
|
||||
Mask, ///<遮罩部分
|
||||
|
||||
Composition, ///<GBuffer合成阶段
|
||||
|
||||
Additive, ///<Subtractive混合阶段
|
||||
Subtractive, ///<Additive混合阶段
|
||||
Alpha, ///<Alpha透明区混合阶段
|
||||
|
||||
PostProcess, ///<后期
|
||||
};//enum class DeferredRenderPass
|
||||
|
||||
class Material
|
||||
{
|
||||
UTF8String name;
|
||||
|
||||
ComponentBitsConfig comp_cfg;
|
||||
BlendMode blend_mode;
|
||||
|
||||
bool two_sided=false;
|
||||
bool wire_frame=false;
|
||||
|
||||
public:
|
||||
|
||||
Material(const UTF8String &n,
|
||||
const ComponentBitsConfig &cbf,
|
||||
const BlendMode &bm=BlendMode::Opaque,
|
||||
const bool ts=false,
|
||||
const bool wf=false)
|
||||
{
|
||||
name=n;
|
||||
comp_cfg=cbf;
|
||||
blend_mode=bm;
|
||||
two_sided=false;
|
||||
wire_frame=false;
|
||||
}
|
||||
|
||||
virtual ~Material()=default;
|
||||
};//class Material
|
||||
MATERIAL_NAMESPACE_END
|
||||
#endif//HGL_GRAPH_MATERIAL_INCLUDE
|
@ -1,23 +0,0 @@
|
||||
#ifndef HGL_GRAPH_MATERIAL_PBR_INCLUDE
|
||||
#define HGL_GRAPH_MATERIAL_PBR_INCLUDE
|
||||
|
||||
#include<hgl/graph/material/Material.h>
|
||||
MATERIAL_NAMESPACE_BEGIN
|
||||
/**
|
||||
* 标准PBR材质<br>
|
||||
* BaseColor/Normal/Metallic/Roughness四个属性必须都有。如未提供,则会使用const方式提供一个数值
|
||||
*/
|
||||
class PBRMaterial:public Material
|
||||
{
|
||||
public:
|
||||
|
||||
PBRMaterial(const UTF8String & n,
|
||||
const BlendMode & bm =BlendMode::Opaque,
|
||||
const bool ts =false,
|
||||
const bool wf =false):
|
||||
Material(n,MCC_CNMR,bm,ts,wf){}
|
||||
|
||||
virtual ~PBRMaterial()=default;
|
||||
};//class PBRMaterial:public Material
|
||||
MATERIAL_NAMESPACE_END
|
||||
#endif//HGL_GRAPH_MATERIAL_PBR_INCLUDE
|
@ -1,40 +0,0 @@
|
||||
#ifndef HGL_GRAPH_MATERIAL_STANDARD_INCLUDE
|
||||
#define HGL_GRAPH_MATERIAL_STANDARD_INCLUDE
|
||||
|
||||
#include<hgl/graph/material/Material.h>
|
||||
MATERIAL_NAMESPACE_BEGIN
|
||||
/**
|
||||
* 传统标准材质
|
||||
*/
|
||||
class StandardMaterial:public Material
|
||||
{
|
||||
public:
|
||||
|
||||
enum class DataSource
|
||||
{
|
||||
Const,
|
||||
Param,
|
||||
Texture,
|
||||
Position,
|
||||
};//
|
||||
|
||||
struct
|
||||
{
|
||||
Component comp; ///<成份
|
||||
DataSource source; ///<来源
|
||||
DataFormat format; ///<数据格式
|
||||
};
|
||||
|
||||
public:
|
||||
|
||||
StandardMaterial( const UTF8String & n,
|
||||
const ComponentBitsConfig & cbf,
|
||||
const BlendMode & bm =BlendMode::Opaque,
|
||||
const bool ts =false,
|
||||
const bool wf =false):
|
||||
Material(n,cbf,bm,ts,wf){}
|
||||
|
||||
virtual ~StandardMaterial()=default;
|
||||
};//class StandardMaterial:public Material
|
||||
MATERIAL_NAMESPACE_END
|
||||
#endif//HGL_GRAPH_MATERIAL_STANDARD_INCLUDE
|
Loading…
x
Reference in New Issue
Block a user