Blender V4.3
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
12#include "BLI_sys_types.h"
13
14#include "DNA_volume_types.h"
15
16#include "BKE_volume_enums.hh"
18
19struct Volume;
20
21/* Dense Voxels */
22
30
31bool BKE_volume_grid_dense_floats(const Volume *volume,
32 const blender::bke::VolumeGridData *volume_grid,
33 DenseFloatVolumeGrid *r_dense_grid);
35
36/* Wireframe */
37
38using BKE_volume_wireframe_cb = void (*)(
39 void *userdata, const float (*verts)[3], const int (*edges)[2], int totvert, int totedge);
40
41void BKE_volume_grid_wireframe(const Volume *volume,
42 const blender::bke::VolumeGridData *volume_grid,
44 void *cb_userdata);
45
46/* Selection Surface */
47
49 void (*)(void *userdata, float (*verts)[3], int (*tris)[3], int totvert, int tottris);
50
52 const blender::bke::VolumeGridData *volume_grid,
54 void *cb_userdata);
55
56/* Render */
57
58float BKE_volume_density_scale(const Volume *volume, const float matrix[4][4]);
VolumeGridType
void(*)( void *userdata, const float(*verts)[3], const int(*edges)[2], int totvert, int totedge) BKE_volume_wireframe_cb
void(*)(void *userdata, float(*verts)[3], int(*tris)[3], int totvert, int tottris) BKE_volume_selection_surface_cb
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)
draw_view in_light_buf[] float
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
static float verts[][3]