[Bf-blender-cvs] [b071b21eb40] new-object-types: Volumes: use approximate transform for (unsupported) perspective grids

Brecht Van Lommel noreply at git.blender.org
Wed Mar 11 15:18:25 CET 2020


Commit: b071b21eb401256e8fcadc5ea78d5de422967bc3
Author: Brecht Van Lommel
Date:   Wed Mar 11 12:48:48 2020 +0100
Branches: new-object-types
https://developer.blender.org/rBb071b21eb401256e8fcadc5ea78d5de422967bc3

Volumes: use approximate transform for (unsupported) perspective grids

Rather than showing nothing at all.

===================================================================

M	source/blender/blenkernel/intern/volume.cc

===================================================================

diff --git a/source/blender/blenkernel/intern/volume.cc b/source/blender/blenkernel/intern/volume.cc
index 979f5ff2b83..312185a88f1 100644
--- a/source/blender/blenkernel/intern/volume.cc
+++ b/source/blender/blenkernel/intern/volume.cc
@@ -1108,20 +1108,15 @@ void BKE_volume_grid_transform_matrix(const VolumeGrid *volume_grid, float mat[4
   const openvdb::GridBase::Ptr &grid = volume_grid->vdb;
   const openvdb::math::Transform &transform = grid->transform();
 
-  if (transform.isLinear()) {
-    openvdb::math::Mat4f matrix = transform.baseMap()->getAffineMap()->getMat4();
-    /* Blender column-major and OpenVDB right-multiplication conventions match. */
-    for (int col = 0; col < 4; col++) {
-      for (int row = 0; row < 4; row++) {
-        mat[col][row] = matrix(col, row);
-      }
+  /* Perspective not supported for now, getAffineMap() will leave out the
+   * perspective part of the transform. */
+  openvdb::math::Mat4f matrix = transform.baseMap()->getAffineMap()->getMat4();
+  /* Blender column-major and OpenVDB right-multiplication conventions match. */
+  for (int col = 0; col < 4; col++) {
+    for (int row = 0; row < 4; row++) {
+      mat[col][row] = matrix(col, row);
     }
   }
-  else {
-    /* TODO: perspective not supported for now, but what do we fall back to?
-     * Do we skip the grid entirely? */
-    unit_m4(mat);
-  }
 #else
   unit_m4(mat);
   UNUSED_VARS(volume_grid);



More information about the Bf-blender-cvs mailing list