-
Notifications
You must be signed in to change notification settings - Fork 0
/
deferred.json
60 lines (56 loc) · 2.84 KB
/
deferred.json
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
{
"name": "Deferred Example",
"version": "1.0",
"buffers": [
{ "name": "gbuffer",
"depth": "yes",
"render_textures": [ { "name": "diffuse", "type": "u8x4", "scale": 1.0 },
{ "name": "position", "type": "f32x4", "scale": 1.0 },
{ "name": "normal", "type": "f16x4", "scale": 1.0 } ] },
{ "name": "lighting",
"depth": "no",
"render_textures": [ { "name": "irradiance", "type": "u8x4", "scale": 1.0 } ] },
{ "name": "resolve",
"depth": "no",
"render_textures": [ { "name": "color", "type": "f16x4", "scale": 1.0 } ] },
{ "name": "visible" }
],
"passes": [
{ "name": "clear-framebuffer",
"type": { "run": "PostProcess", "draw": "none" },
"depth": { "clear_buffer": "yes" },
"outputs": { "buffer": "visible", "clear_buffer": "yes" } },
{ "name": "clear-gbuffer",
"type": { "run": "PostProcess", "draw": "none" },
"depth": { "clear_buffer": "yes" },
"outputs": { "buffer": "gbuffer",
"clear_buffer": "yes",
"render_textures": [ "diffuse", "position", "normal" ] } },
{ "name": "geometry",
"type": { "run": "PostProcess", "draw": "opaque-geometry" },
"depth": { "test": "less", "write": "yes", "clear_buffer": "no"},
"outputs": { "buffer": "gbuffer",
"render_textures": [ "diffuse", "position", "normal" ]
} },
{ "name": "sky",
"type": { "run": "PostProcess", "draw": "quad" },
"depth" : { "test": "equal", "write": "no", "clear_buffer": "no" },
"shader": { "vertex_shader_path": "{ASSET_ROOT}/pipelines/deferred/sky-vsh.glsl",
"fragment_shader_path": "{ASSET_ROOT}/pipelines/deferred/sky-fsh.glsl",
"uniforms": [ { "name": "u_skyMatrix", "type": "mat4", "auto": "sky_matrix" },
{ "name": "skyCube", "type": "samplerCube" } ],
"varyings": [ { "name": "v_eyeDirection", "type": "vec3" } ] },
"outputs": { "buffer": "gbuffer",
"render_textures": [ "diffuse" ] } },
{ "name": "PostProcessAndBlit",
"type": { "run": "PostProcess", "draw": "quad" },
"depth" : { "test": "always", "write": "no", "clear_buffer": "no" },
"shader": { "vertex_shader_path": "{ASSET_ROOT}/pipelines/deferred/full-screen-quad-vsh.glsl",
"fragment_shader_path": "{ASSET_ROOT}/pipelines/deferred/full-screen-deferred-blit-fsh.glsl",
"uniforms": [ { "name": "u_normal_texture", "type": "sampler2d" }],
"varyings": [ { "name": "v_texCoord", "type": "vec2" } ] },
"inputs": [ { "buffer": "gbuffer",
"render_textures": ["diffuse", "position", "normal"] } ],
"outputs": { "buffer": "visible" } }
]
}