43 lines
1.4 KiB
C++
43 lines
1.4 KiB
C++
#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
|