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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2020-03-16 16:42:56 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2020-03-18 13:23:05 +0300
commit7537cad5761e4778da7aed02410c5811114c24e5 (patch)
tree94b0187257e08ecaeaad5cef9eaaa4ec49aa04fd /source/blender/blenkernel/intern/volume_render.cc
parent1162ba206dd7792414d3ae716877ba1383de8dab (diff)
Volumes: add render settings for volume datablock
* Space: volume density and step size in object or world space * Step Size: override automatic step size * Clipping: values below this are ignored for tighter volume bounds The last two are Cycles only currently. Ref T73201
Diffstat (limited to 'source/blender/blenkernel/intern/volume_render.cc')
-rw-r--r--source/blender/blenkernel/intern/volume_render.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/volume_render.cc b/source/blender/blenkernel/intern/volume_render.cc
index d8fbbce3bae..a4833f1ffa4 100644
--- a/source/blender/blenkernel/intern/volume_render.cc
+++ b/source/blender/blenkernel/intern/volume_render.cc
@@ -356,3 +356,18 @@ void BKE_volume_grid_wireframe(const Volume *volume,
cb(cb_userdata, NULL, NULL, 0, 0);
#endif
}
+
+/* Render */
+
+float BKE_volume_density_scale(const Volume *volume, const float matrix[4][4])
+{
+ if (volume->render.space == VOLUME_SPACE_OBJECT) {
+ float unit[3] = {1.0f, 1.0f, 1.0f};
+ normalize_v3(unit);
+ mul_mat3_m4_v3(matrix, unit);
+ return 1.0f / len_v3(unit);
+ }
+ else {
+ return 1.0f;
+ }
+}