14 #ifndef RENDER_UTILS_SSAO_SHARED_H
15 #define RENDER_UTILS_SSAO_SHARED_H
17 #define SSAO_USE_QUAD_SPLIT 1
18 #define SSAO_BILATERAL_BLUR_USE_NORMAL 0
20 #define SSAO_DEPTH_KEY_SCALE 300.0
22 #if SSAO_USE_QUAD_SPLIT
23 #define SSAO_SPLIT_LOG2_COUNT 2
25 #define SSAO_SPLIT_LOG2_COUNT 0
27 #define SSAO_SPLIT_COUNT (1 << SSAO_SPLIT_LOG2_COUNT)
31 # define SSAO_VEC4 glm::vec4
32 # define SSAO_MAT4 glm::mat4
34 # define SSAO_VEC4 vec4
35 # define SSAO_MAT4 mat4
38 struct AmbientOcclusionParams {
39 SSAO_VEC4 _resolutionInfo;
40 SSAO_VEC4 _radiusInfo;
41 SSAO_VEC4 _ditheringInfo;
42 SSAO_VEC4 _sampleInfo;
43 SSAO_VEC4 _falloffInfo;
44 SSAO_VEC4 _sideSizes[2];
47 struct AmbientOcclusionFrameParams {
51 struct AmbientOcclusionBlurParams {