Merge pull request #80257 from DarioSamo/taa_double_precision_fix
Fix motion vectors being corrupted when using `precision=double`
This commit is contained in:
commit
f01290fa91
1 changed files with 6 additions and 0 deletions
|
@ -234,6 +234,12 @@ void RenderSceneDataRD::update_ubo(RID p_uniform_buffer, RS::ViewportDebugDraw p
|
|||
RendererRD::MaterialStorage::store_transform(prev_cam_transform, prev_ubo.inv_view_matrix);
|
||||
RendererRD::MaterialStorage::store_transform(prev_cam_transform.affine_inverse(), prev_ubo.view_matrix);
|
||||
|
||||
#ifdef REAL_T_IS_DOUBLE
|
||||
RendererRD::MaterialStorage::split_double(-prev_cam_transform.origin.x, &prev_ubo.inv_view_matrix[12], &prev_ubo.inv_view_matrix[3]);
|
||||
RendererRD::MaterialStorage::split_double(-prev_cam_transform.origin.y, &prev_ubo.inv_view_matrix[13], &prev_ubo.inv_view_matrix[7]);
|
||||
RendererRD::MaterialStorage::split_double(-prev_cam_transform.origin.z, &prev_ubo.inv_view_matrix[14], &prev_ubo.inv_view_matrix[11]);
|
||||
#endif
|
||||
|
||||
for (uint32_t v = 0; v < view_count; v++) {
|
||||
prev_projection = prev_correction * view_projection[v];
|
||||
RendererRD::MaterialStorage::store_camera(prev_projection, prev_ubo.projection_matrix_view[v]);
|
||||
|
|
Loading…
Reference in a new issue