Blender V5.0
BKE_volume_render.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
11
12#include "DNA_volume_types.h"
13
14#include "BKE_volume_enums.hh"
16
17struct Volume;
18
19/* Dense Voxels */
20
28
29bool BKE_volume_grid_dense_floats(const Volume *volume,
30 const blender::bke::VolumeGridData *volume_grid,
31 DenseFloatVolumeGrid *r_dense_grid);
33
34/* Wireframe */
35
36using BKE_volume_wireframe_cb = void (*)(
37 void *userdata, const float (*verts)[3], const int (*edges)[2], int totvert, int totedge);
38
39void BKE_volume_grid_wireframe(const Volume *volume,
40 const blender::bke::VolumeGridData *volume_grid,
42 void *cb_userdata);
43
44/* Selection Surface */
45
47 void (*)(void *userdata, float (*verts)[3], int (*tris)[3], int totvert, int tottris);
48
50 const blender::bke::VolumeGridData *volume_grid,
52 void *cb_userdata);
53
54/* Render */
55
56float BKE_volume_density_scale(const Volume *volume, const float matrix[4][4]);
VolumeGridType
void BKE_volume_dense_float_grid_clear(DenseFloatVolumeGrid *dense_grid)
void BKE_volume_grid_selection_surface(const Volume *volume, const blender::bke::VolumeGridData *volume_grid, BKE_volume_selection_surface_cb cb, void *cb_userdata)
bool BKE_volume_grid_dense_floats(const Volume *volume, const blender::bke::VolumeGridData *volume_grid, DenseFloatVolumeGrid *r_dense_grid)
float BKE_volume_density_scale(const Volume *volume, const float matrix[4][4])
void BKE_volume_grid_wireframe(const Volume *volume, const blender::bke::VolumeGridData *volume_grid, BKE_volume_wireframe_cb cb, void *cb_userdata)
void(*)(void *userdata, float(*verts)[3], int(*tris)[3], int totvert, int tottris) BKE_volume_selection_surface_cb
void(*)( void *userdata, const float(*verts)[3], const int(*edges)[2], int totvert, int totedge) BKE_volume_wireframe_cb
nullptr float
static float verts[][3]