Browse Source

Store pathtrace mode in config

luboslenco 8 tháng trước cách đây
mục cha
commit
593b6593e9

+ 1 - 0
base/sources/base.ts

@@ -837,6 +837,7 @@ function base_init_config() {
 	raw.gpu_inference = true;
 	raw.blender = "";
 	raw.atlas_res = 0;
+	raw.pathtrace_mode = pathtrace_mode_t.FAST;
 
 	base_ext_init_config(raw);
 }

+ 2 - 2
base/sources/box_preferences.ts

@@ -578,10 +578,10 @@ function box_preferences_show() {
 
 			let hpathtrace_mode: ui_handle_t = ui_handle(__ID__);
 			if (hpathtrace_mode.init) {
-				hpathtrace_mode.position = context_raw.pathtrace_mode;
+				hpathtrace_mode.position = config_raw.pathtrace_mode;
 			}
 			let pathtrace_mode_combo: string[] = [tr("Fast"), tr("Quality")];
-			context_raw.pathtrace_mode = ui_combo(hpathtrace_mode, pathtrace_mode_combo, tr("Path Tracer"), true);
+			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;

+ 2 - 0
base/sources/config.ts

@@ -99,6 +99,7 @@ function config_save() {
 	json_encode_bool("gpu_inference", config_raw.gpu_inference);
 	json_encode_string("blender", config_raw.blender);
 	json_encode_i32("atlas_res", config_raw.atlas_res);
+	json_encode_i32("pathtrace_mode", config_raw.pathtrace_mode);
 	let config_json: string = json_encode_end();
 
 	let buffer: buffer_t = sys_string_to_buffer(config_json);
@@ -443,4 +444,5 @@ type config_t = {
 	gpu_inference?: bool;
 	blender?: string;
 	atlas_res: i32; // Forge
+	pathtrace_mode: i32;
 };

+ 0 - 4
base/sources/context.ts

@@ -43,7 +43,6 @@ type context_t = {
 	parse_vcols?: bool;
 
 	select_time?: f32;
-	pathtrace_mode?: path_trace_mode_t;
 	viewport_mode?: viewport_mode_t;
 	render_mode?: render_mode_t;
 
@@ -298,9 +297,6 @@ function context_create(): context_t {
 	c.parse_transform = true;
 	c.parse_vcols = false;
 	c.select_time = 0.0;
-	///if (arm_direct3d12 || arm_vulkan || arm_metal)
-	c.pathtrace_mode = path_trace_mode_t.CORE;
-	///end
 	///if (arm_direct3d12 || arm_vulkan)
 	c.viewport_mode = viewport_mode_t.PATH_TRACE;
 	///else

+ 3 - 3
base/sources/enums.ts

@@ -92,9 +92,9 @@ enum export_destination_t {
 	PACKED = 1,
 }
 
-enum path_trace_mode_t {
-	CORE = 0,
-	FULL = 1,
+enum pathtrace_mode_t {
+	FAST = 0,
+	QUALITY = 1,
 }
 
 enum fill_type_t {

+ 1 - 1
base/sources/render_path_raytrace.ts

@@ -36,7 +36,7 @@ function render_path_raytrace_commands(use_live_layer: bool) {
 		///if is_forge
 		ext = "forge_";
 		///end
-		let mode: string = context_raw.pathtrace_mode == path_trace_mode_t.CORE ? "core" : "full";
+		let mode: string = config_raw.pathtrace_mode == pathtrace_mode_t.FAST ? "core" : "full";
 		render_path_raytrace_raytrace_init("raytrace_brute_" + ext + mode + render_path_raytrace_ext);
 		render_path_raytrace_last_envmap = null;
 	}