#include "voxelizer.h"
#include "core/config/project_settings.h"
static _FORCE_INLINE_ void get_uv_and_normal(const Vector3 &p_pos, const Vector3 *p_vtx, const Vector2 *p_uv, const Vector3 *p_normal, Vector2 &r_uv, Vector3 &r_normal) { … }
void Voxelizer::_plot_face(int p_idx, int p_level, int p_x, int p_y, int p_z, const Vector3 *p_vtx, const Vector3 *p_normal, const Vector2 *p_uv, const MaterialCache &p_material, const AABB &p_aabb) { … }
Vector<Color> Voxelizer::_get_bake_texture(Ref<Image> p_image, const Color &p_color_mul, const Color &p_color_add) { … }
Voxelizer::MaterialCache Voxelizer::_get_material_cache(Ref<Material> p_material) { … }
int Voxelizer::get_bake_steps(Ref<Mesh> &p_mesh) const { … }
Voxelizer::BakeResult Voxelizer::plot_mesh(const Transform3D &p_xform, Ref<Mesh> &p_mesh, const Vector<Ref<Material>> &p_materials, const Ref<Material> &p_override_material, BakeStepFunc p_bake_step_func) { … }
void Voxelizer::_sort() { … }
void Voxelizer::_fixup_plot(int p_idx, int p_level) { … }
void Voxelizer::begin_bake(int p_subdiv, const AABB &p_bounds, float p_exposure_normalization) { … }
void Voxelizer::end_bake() { … }
int Voxelizer::get_voxel_gi_octree_depth() const { … }
Vector3i Voxelizer::get_voxel_gi_octree_size() const { … }
int Voxelizer::get_voxel_gi_cell_count() const { … }
Vector<uint8_t> Voxelizer::get_voxel_gi_octree_cells() const { … }
Vector<uint8_t> Voxelizer::get_voxel_gi_data_cells() const { … }
Vector<int> Voxelizer::get_voxel_gi_level_cell_count() const { … }
#define square …
#define INF …
static void edt(float *f, int stride, int n) { … }
#undef square
Voxelizer::BakeResult Voxelizer::get_sdf_3d_image(Vector<uint8_t> &r_image, BakeStepFunc p_bake_step_function) const { … }
#undef INF
void Voxelizer::_debug_mesh(int p_idx, int p_level, const AABB &p_aabb, Ref<MultiMesh> &p_multimesh, int &idx) { … }
Ref<MultiMesh> Voxelizer::create_debug_multimesh() { … }
Transform3D Voxelizer::get_to_cell_space_xform() const { … }
Voxelizer::Voxelizer() { … }