blob: c935eca6a39198e2c6364acd0379ae0c7f3cb9f6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
layout(std140) uniform common_block
{
mat4 pastViewProjectionMatrix;
vec4 hizUvScale; /* To correct mip level texel misalignment */
/* Ambient Occlusion */
vec4 aoParameters[2];
/* Volumetric */
ivec4 volTexSize;
vec4 volDepthParameters; /* Parameters to the volume Z equation */
vec4 volInvTexSize;
vec4 volJitter;
vec4 volCoordScale; /* To convert volume uvs to screen uvs */
float volHistoryAlpha;
float volShadowSteps;
bool volUseLights;
bool volUseSoftShadows;
/* Screen Space Reflections */
vec4 ssrParameters;
float ssrBorderFac;
float ssrMaxRoughness;
float ssrFireflyFac;
float ssrBrdfBias;
bool ssrToggle;
bool ssrefractToggle;
/* SubSurface Scattering */
float sssJitterThreshold;
bool sssToggle;
/* Specular */
bool specToggle;
/* Lights */
int laNumLight;
/* Probes */
int prbNumPlanar;
int prbNumRenderCube;
int prbNumRenderGrid;
int prbIrradianceVisSize;
float prbIrradianceSmooth;
float prbLodCubeMax;
/* Misc */
int rayType;
float rayDepth;
float alphaHashOffset;
float alphaHashScale;
float pad6;
float pad7;
float pad8;
float pad9;
};
/* rayType (keep in sync with ray_type) */
#define EEVEE_RAY_CAMERA 0
#define EEVEE_RAY_SHADOW 1
#define EEVEE_RAY_DIFFUSE 2
#define EEVEE_RAY_GLOSSY 3
/* aoParameters */
#define aoDistance aoParameters[0].x
#define aoSamples aoParameters[0].y /* UNUSED */
#define aoFactor aoParameters[0].z
#define aoInvSamples aoParameters[0].w /* UNUSED */
#define aoOffset aoParameters[1].x /* UNUSED */
#define aoBounceFac aoParameters[1].y
#define aoQuality aoParameters[1].z
#define aoSettings aoParameters[1].w
/* ssrParameters */
#define ssrQuality ssrParameters.x
#define ssrThickness ssrParameters.y
#define ssrPixelSize ssrParameters.zw
#define ssrUvScale hizUvScale.zw
|