소스 검색

Raytraced bake fixes

luboslenco 2 주 전
부모
커밋
d23be03be3
3개의 변경된 파일9개의 추가작업 그리고 6개의 파일을 삭제
  1. 1 1
      base/sources/ts/box_preferences.ts
  2. 7 4
      base/sources/ts/render_path_raytrace.ts
  3. 1 1
      base/sources/ts/render_path_raytrace_bake.ts

+ 1 - 1
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;
 			}
 

+ 7 - 4
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");

+ 1 - 1
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;