diff --git a/base/sources/render_path_base.ts b/base/sources/render_path_base.ts index dad38506..ab7ac1ae 100644 --- a/base/sources/render_path_base.ts +++ b/base/sources/render_path_base.ts @@ -97,7 +97,12 @@ function render_path_base_begin() { } // Match projection matrix jitter - let skip_taa: bool = context_raw.split_view || ((context_raw.tool == workspace_tool_t.CLONE || context_raw.tool == workspace_tool_t.BLUR || context_raw.tool == workspace_tool_t.SMUDGE) && context_raw.pdirty > 0); + let skip_taa: bool = + context_raw.split_view || + context_raw.viewport_mode == viewport_mode_t.PATH_TRACE || + ((context_raw.tool == workspace_tool_t.CLONE || + context_raw.tool == workspace_tool_t.BLUR || + context_raw.tool == workspace_tool_t.SMUDGE) && context_raw.pdirty > 0); scene_camera.frame = skip_taa ? 0 : render_path_base_taa_frame; camera_object_proj_jitter(scene_camera); camera_object_build_mat(scene_camera); diff --git a/base/sources/render_path_raytrace.ts b/base/sources/render_path_raytrace.ts index 1fb62d00..c4a7991e 100644 --- a/base/sources/render_path_raytrace.ts +++ b/base/sources/render_path_raytrace.ts @@ -188,24 +188,18 @@ function render_path_raytrace_build_data(bake: bool = false) { let mo: mesh_object_t = scene_meshes[0]; ///end + ///if is_forge render_path_raytrace_transform = mo.base.transform.world_unpack; + ///else + render_path_raytrace_transform = mat4_identity(); + ///end if (!bake) { - let md: mesh_data_t = mo.data; - if (md.scale_pos != 1.0) { - render_path_raytrace_transform = mat4_scale( - render_path_raytrace_transform, vec4_create(md.scale_pos, md.scale_pos, md.scale_pos) - ); - } - + let sc: f32 = mo.base.transform.scale.x * mo.data.scale_pos; if (mo.base.parent != null) { - let f: f32 = mo.base.parent.transform.scale.x; - if (f != 1.0) { - render_path_raytrace_transform = mat4_scale( - render_path_raytrace_transform, vec4_create(f, f, f) - ); - } + sc *= mo.base.parent.transform.scale.x; } + render_path_raytrace_transform = mat4_scale(render_path_raytrace_transform, vec4_create(sc, sc, sc)); } render_path_raytrace_vb = mo.data._.vertex_buffer;