diff --git a/base/sources/ts/box_preferences.ts b/base/sources/ts/box_preferences.ts index a443146a..32e81eb3 100644 --- a/base/sources/ts/box_preferences.ts +++ b/base/sources/ts/box_preferences.ts @@ -585,7 +585,7 @@ function box_preferences_show() { config_raw.pathtrace_mode = ui_combo(hpathtrace_mode, pathtrace_mode_combo, tr("Path Tracer"), true); if (hpathtrace_mode.changed) { render_path_raytrace_ready = false; - render_path_raytrace_first = true; + render_path_raytrace_init_shader = true; context_raw.ddirty = 2; } diff --git a/base/sources/ts/render_path_raytrace.ts b/base/sources/ts/render_path_raytrace.ts index 348904e0..0af7a6ce 100644 --- a/base/sources/ts/render_path_raytrace.ts +++ b/base/sources/ts/render_path_raytrace.ts @@ -3,7 +3,7 @@ let render_path_raytrace_frame: i32 = 0; let render_path_raytrace_ready: bool = false; let render_path_raytrace_dirty: i32 = 0; let render_path_raytrace_uv_scale: f32 = 1.0; -let render_path_raytrace_first: bool = true; +let render_path_raytrace_init_shader: bool = true; let render_path_raytrace_f32a: f32_array_t = f32_array_create(24); let render_path_raytrace_help_mat: mat4_t = mat4_identity(); let render_path_raytrace_transform: mat4_t; @@ -29,7 +29,10 @@ function render_path_raytrace_init() { function render_path_raytrace_commands(use_live_layer: bool) { if (!render_path_raytrace_ready || render_path_raytrace_is_bake) { render_path_raytrace_ready = true; - render_path_raytrace_is_bake = false; + if (render_path_raytrace_is_bake) { + render_path_raytrace_is_bake = false; + render_path_raytrace_init_shader = true; + } let ext: string = ""; if (context_raw.tool == tool_type_t.GIZMO) { ext = "forge_"; @@ -141,8 +144,8 @@ function render_path_raytrace_commands(use_live_layer: bool) { } function render_path_raytrace_raytrace_init(shader_name: string, build: bool = true) { - if (render_path_raytrace_first) { - render_path_raytrace_first = false; + if (render_path_raytrace_init_shader) { + render_path_raytrace_init_shader = false; scene_embed_data("bnoise_sobol.k"); scene_embed_data("bnoise_scramble.k"); scene_embed_data("bnoise_rank.k"); diff --git a/base/sources/ts/render_path_raytrace_bake.ts b/base/sources/ts/render_path_raytrace_bake.ts index 8e6400cd..0ee8a072 100644 --- a/base/sources/ts/render_path_raytrace_bake.ts +++ b/base/sources/ts/render_path_raytrace_bake.ts @@ -62,7 +62,7 @@ function render_path_raytrace_bake_commands(parse_paint_material: (b?: bool)=>vo context_raw.bake_type = _bake_type; sys_notify_on_next_frame(parse_paint_material); - render_path_raytrace_first = true; + render_path_raytrace_init_shader = true; render_path_raytrace_raytrace_init(render_path_raytrace_bake_get_bake_shader_name(), rebuild); return false;