Raytrace fixes

This commit is contained in:
luboslenco
2025-01-20 21:59:31 +01:00
parent 85039ede6e
commit 083126f0a6
2 changed files with 13 additions and 14 deletions
+6 -1
View File
@@ -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);
+7 -13
View File
@@ -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;