diff options
Diffstat (limited to 'source/blender/blenkernel/BKE_volume_render.h')
-rw-r--r-- | source/blender/blenkernel/BKE_volume_render.h | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/source/blender/blenkernel/BKE_volume_render.h b/source/blender/blenkernel/BKE_volume_render.h index a42f24a5312..d7553ccb10b 100644 --- a/source/blender/blenkernel/BKE_volume_render.h +++ b/source/blender/blenkernel/BKE_volume_render.h @@ -34,19 +34,18 @@ struct VolumeGrid; /* Dense Voxels */ -bool BKE_volume_grid_dense_bounds(const struct Volume *volume, - struct VolumeGrid *volume_grid, - int64_t min[3], - int64_t max[3]); -void BKE_volume_grid_dense_transform_matrix(const struct VolumeGrid *volume_grid, - const int64_t min[3], - const int64_t max[3], - float matrix[4][4]); -void BKE_volume_grid_dense_voxels(const struct Volume *volume, +typedef struct DenseFloatVolumeGrid { + VolumeGridType type; + int resolution[3]; + float texture_to_object[4][4]; + int channels; + float *voxels; +} DenseFloatVolumeGrid; + +bool BKE_volume_grid_dense_floats(const struct Volume *volume, struct VolumeGrid *volume_grid, - const int64_t min[3], - const int64_t max[3], - float *voxels); + DenseFloatVolumeGrid *r_dense_grid); +void BKE_volume_dense_float_grid_clear(DenseFloatVolumeGrid *dense_grid); /* Wireframe */ @@ -58,6 +57,16 @@ void BKE_volume_grid_wireframe(const struct Volume *volume, BKE_volume_wireframe_cb cb, void *cb_userdata); +/* Selection Surface */ + +typedef void (*BKE_volume_selection_surface_cb)( + void *userdata, float (*verts)[3], int (*tris)[3], int totvert, int tottris); + +void BKE_volume_grid_selection_surface(const struct Volume *volume, + struct VolumeGrid *volume_grid, + BKE_volume_selection_surface_cb cb, + void *cb_userdata); + /* Render */ float BKE_volume_density_scale(const struct Volume *volume, const float matrix[4][4]); |