Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/cycles/blender/blender_volume.cpp')
-rw-r--r--intern/cycles/blender/blender_volume.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/intern/cycles/blender/blender_volume.cpp b/intern/cycles/blender/blender_volume.cpp
index 237c5d061e8..7f393fcb819 100644
--- a/intern/cycles/blender/blender_volume.cpp
+++ b/intern/cycles/blender/blender_volume.cpp
@@ -15,6 +15,7 @@
*/
#include "render/colorspace.h"
+#include "render/image.h"
#include "render/mesh.h"
#include "render/object.h"
@@ -68,6 +69,15 @@ class BlenderSmokeLoader : public ImageLoader {
metadata.height = resolution.y * amplify;
metadata.depth = resolution.z * amplify;
+ /* Create a matrix to transform from object space to mesh texture space.
+ * This does not work with deformations but that can probably only be done
+ * well with a volume grid mapping of coordinates. */
+ BL::Mesh b_mesh(b_ob.data());
+ float3 loc, size;
+ mesh_texture_space(b_mesh, loc, size);
+ metadata.transform_3d = transform_translate(-loc) * transform_scale(size);
+ metadata.use_transform_3d = true;
+
return true;
}