Added ShadowPolicy.h

This commit is contained in:
2024-10-10 01:58:47 +08:00
parent 71c0c7e627
commit e9d5b369bf
2 changed files with 44 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
#pragma once
#include<hgl/TypeFunc.h>
namespace hgl
{
namespace graph
{
/**
* 全局动态阴影策略
*/
enum class GlobalDynamicShadowPolicy
{
None, ///<不产生全局动态阴影
Cascade, ///<级联阴影
ParallelSplit, ///<平行分割阴影
Virtual, ///<虚拟阴影
ENUM_CLASS_RANGE(None,Virtual)
};
/**
* 对象动态阴影策略<br>
* 注动态阴影会使用屏幕空间技术不管使用以下何种技术会全部合成到一个屏幕空间shadow map再统一做blur之类的操作
*/
enum class ObjectDynamicShadowPolicy
{
None, ///<不产生动态阴影
Global, ///<使用全局动态阴影
Plane, ///<压片阴影(极少三角面的片状物体专用)
RTDF, ///<距离场动态阴影(静态物体专用)
Capsule, ///<胶囊体动态阴影(骨骼动画专用)
ShadowVolume, ///<体积阴影(超规则类物体专用,如房子)
ENUM_CLASS_RANGE(None,ShadowVolume)
};
}//namespace graph
}//namespace hgl