diff --git a/base/assets/Scene.arm b/base/assets/Scene.arm index 51239ad5..398274d3 100644 Binary files a/base/assets/Scene.arm and b/base/assets/Scene.arm differ diff --git a/base/shaders/mesh_posnor.kong b/base/shaders/mesh_posnor.kong index ee935f6b..0c50b8a1 100644 --- a/base/shaders/mesh_posnor.kong +++ b/base/shaders/mesh_posnor.kong @@ -62,7 +62,7 @@ fun pack_f32_i16(f: float, i: uint): float { return 0.062504762 * f + 0.062519999 * float(i); } -fun mesh_posnor_frag(input: vert_out): float4[2] { +fun mesh_posnor_frag(input: vert_out): float4[3] { var basecol: float3 = float3(0.8, 0.8, 0.8); var roughness: float = 0.25; var metallic: float = 0.0; @@ -78,9 +78,10 @@ fun mesh_posnor_frag(input: vert_out): float4[2] { } // var matid: uint = 0; var matid: uint = uint(0.0); - var color: float4[2]; + var color: float4[3]; color[0] = float4(n.xy, roughness, pack_f32_i16(metallic, matid)); color[1] = float4(basecol, occlusion); + color[2] = float4(0.0, 0.0, 0.0, 0.0); return color; } diff --git a/base/shaders/mesh_posnortex.kong b/base/shaders/mesh_posnortex.kong index 12b299d8..23c964e1 100644 --- a/base/shaders/mesh_posnortex.kong +++ b/base/shaders/mesh_posnortex.kong @@ -66,7 +66,7 @@ fun pack_f32_i16(f: float, i: uint): float { return 0.062504762 * f + 0.062519999 * float(i); } -fun mesh_posnortex_frag(input: vert_out): float4[2] { +fun mesh_posnortex_frag(input: vert_out): float4[3] { var n: float3 = normalize(input.wnormal); var basecol: float3 = float3(0.2, 0.2, 0.2) + input.tex.x * 0.0000001; // keep tex_coord var roughness: float = 0.4; @@ -84,9 +84,10 @@ fun mesh_posnortex_frag(input: vert_out): float4[2] { // var matid: uint = 0; var matid: uint = uint(0.0); - var color: float4[2]; + var color: float4[3]; color[0] = float4(n.xy, roughness, pack_f32_i16(metallic, matid)); color[1] = float4(basecol, occlusion); + color[2] = float4(0.0, 0.0, 0.0, 0.0); return color; } diff --git a/base/sources/ts/render_path_base.ts b/base/sources/ts/render_path_base.ts index 0f99b489..c9f2dc3a 100644 --- a/base/sources/ts/render_path_base.ts +++ b/base/sources/ts/render_path_base.ts @@ -351,8 +351,7 @@ function render_path_base_draw_taa(bufa: string, bufb: string) { function render_path_base_draw_gbuffer() { render_path_set_target("gbuffer0", null, clear_flag_t.DEPTH, 0, 1.0); // Only clear gbuffer0 - // let additional: string[] = ["gbuffer1", "gbuffer2"]; - let additional: string[] = ["gbuffer1"]; + let additional: string[] = ["gbuffer1", "gbuffer2"]; render_path_set_target("gbuffer0", additional); render_path_paint_bind_layers(); render_path_draw_meshes("mesh"); @@ -363,7 +362,7 @@ function render_path_base_draw_gbuffer() { let ping: string = i % 2 == 1 ? "_copy" : ""; let pong: string = i % 2 == 1 ? "" : "_copy"; if (i == make_mesh_layer_pass_count - 1) { - // render_path_set_target("gbuffer2" + ping, null, clear_flag_t.COLOR, 0xff000000); + render_path_set_target("gbuffer2" + ping, null, clear_flag_t.COLOR, 0xff000000); } let g1ping: string = "gbuffer1" + ping; let g2ping: string = "gbuffer2" + ping; @@ -371,7 +370,7 @@ function render_path_base_draw_gbuffer() { render_path_set_target("gbuffer0" + ping, additional); render_path_bind_target("gbuffer0" + pong, "gbuffer0"); render_path_bind_target("gbuffer1" + pong, "gbuffer1"); - // render_path_bind_target("gbuffer2" + pong, "gbuffer2"); + render_path_bind_target("gbuffer2" + pong, "gbuffer2"); render_path_paint_bind_layers(); render_path_draw_meshes("mesh" + i); render_path_paint_unbind_layers();