Raytrace fixes
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user