删除旧的材质系统
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