godot/scene/3d/lightmap_gi.cpp

/**************************************************************************/
/*  lightmap_gi.cpp                                                       */
/**************************************************************************/
/*                         This file is part of:                          */
/*                             GODOT ENGINE                               */
/*                        https://godotengine.org                         */
/**************************************************************************/
/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */
/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.                  */
/*                                                                        */
/* Permission is hereby granted, free of charge, to any person obtaining  */
/* a copy of this software and associated documentation files (the        */
/* "Software"), to deal in the Software without restriction, including    */
/* without limitation the rights to use, copy, modify, merge, publish,    */
/* distribute, sublicense, and/or sell copies of the Software, and to     */
/* permit persons to whom the Software is furnished to do so, subject to  */
/* the following conditions:                                              */
/*                                                                        */
/* The above copyright notice and this permission notice shall be         */
/* included in all copies or substantial portions of the Software.        */
/*                                                                        */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,        */
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF     */
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY   */
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,   */
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE      */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                 */
/**************************************************************************/

#include "lightmap_gi.h"

#include "core/config/project_settings.h"
#include "core/io/config_file.h"
#include "core/math/delaunay_3d.h"
#include "lightmap_probe.h"
#include "scene/3d/mesh_instance_3d.h"
#include "scene/resources/camera_attributes.h"
#include "scene/resources/environment.h"
#include "scene/resources/image_texture.h"
#include "scene/resources/sky.h"

void LightmapGIData::add_user(const NodePath &p_path, const Rect2 &p_uv_scale, int p_slice_index, int32_t p_sub_instance) {}

int LightmapGIData::get_user_count() const {}

NodePath LightmapGIData::get_user_path(int p_user) const {}

int32_t LightmapGIData::get_user_sub_instance(int p_user) const {}

Rect2 LightmapGIData::get_user_lightmap_uv_scale(int p_user) const {}

int LightmapGIData::get_user_lightmap_slice_index(int p_user) const {}

void LightmapGIData::clear_users() {}

void LightmapGIData::_set_user_data(const Array &p_data) {}

Array LightmapGIData::_get_user_data() const {}

void LightmapGIData::set_lightmap_textures(const TypedArray<TextureLayered> &p_data) {}

TypedArray<TextureLayered> LightmapGIData::get_lightmap_textures() const {}

RID LightmapGIData::get_rid() const {}

void LightmapGIData::clear() {}

void LightmapGIData::_reset_lightmap_textures() {}

void LightmapGIData::set_uses_spherical_harmonics(bool p_enable) {}

bool LightmapGIData::is_using_spherical_harmonics() const {}

void LightmapGIData::_set_uses_packed_directional(bool p_enable) {}

bool LightmapGIData::_is_using_packed_directional() const {}

void LightmapGIData::set_capture_data(const AABB &p_bounds, bool p_interior, const PackedVector3Array &p_points, const PackedColorArray &p_point_sh, const PackedInt32Array &p_tetrahedra, const PackedInt32Array &p_bsp_tree, float p_baked_exposure) {}

PackedVector3Array LightmapGIData::get_capture_points() const {}

PackedColorArray LightmapGIData::get_capture_sh() const {}

PackedInt32Array LightmapGIData::get_capture_tetrahedra() const {}

PackedInt32Array LightmapGIData::get_capture_bsp_tree() const {}

AABB LightmapGIData::get_capture_bounds() const {}

bool LightmapGIData::is_interior() const {}

float LightmapGIData::get_baked_exposure() const {}

void LightmapGIData::_set_probe_data(const Dictionary &p_data) {}

Dictionary LightmapGIData::_get_probe_data() const {}

#ifndef DISABLE_DEPRECATED
void LightmapGIData::set_light_texture(const Ref<TextureLayered> &p_light_texture) {}

Ref<TextureLayered> LightmapGIData::get_light_texture() const {}

void LightmapGIData::_set_light_textures_data(const Array &p_data) {}

Array LightmapGIData::_get_light_textures_data() const {}
#endif

void LightmapGIData::_bind_methods() {}

LightmapGIData::LightmapGIData() {}

LightmapGIData::~LightmapGIData() {}

///////////////////////////

void LightmapGI::_find_meshes_and_lights(Node *p_at_node, Vector<MeshesFound> &meshes, Vector<LightsFound> &lights, Vector<Vector3> &probes) {}

int LightmapGI::_bsp_get_simplex_side(const Vector<Vector3> &p_points, const LocalVector<BSPSimplex> &p_simplices, const Plane &p_plane, uint32_t p_simplex) const {}

//#define DEBUG_BSP

int32_t LightmapGI::_compute_bsp_tree(const Vector<Vector3> &p_points, const LocalVector<Plane> &p_planes, LocalVector<int32_t> &planes_tested, const LocalVector<BSPSimplex> &p_simplices, const LocalVector<int32_t> &p_simplex_indices, LocalVector<BSPNode> &bsp_nodes) {}

bool LightmapGI::_lightmap_bake_step_function(float p_completion, const String &p_text, void *ud, bool p_refresh) {}

void LightmapGI::_plot_triangle_into_octree(GenProbesOctree *p_cell, float p_cell_size, const Vector3 *p_triangle) {}

void LightmapGI::_gen_new_positions_from_octree(const GenProbesOctree *p_cell, float p_cell_size, const Vector<Vector3> &probe_positions, LocalVector<Vector3> &new_probe_positions, HashMap<Vector3i, bool> &positions_used, const AABB &p_bounds) {}

LightmapGI::BakeError LightmapGI::bake(Node *p_from_node, String p_image_data_path, Lightmapper::BakeStepFunc p_bake_step, void *p_bake_userdata) {}

void LightmapGI::_notification(int p_what) {}

void LightmapGI::_assign_lightmaps() {}

void LightmapGI::_clear_lightmaps() {}

void LightmapGI::set_light_data(const Ref<LightmapGIData> &p_data) {}

Ref<LightmapGIData> LightmapGI::get_light_data() const {}

void LightmapGI::set_bake_quality(BakeQuality p_quality) {}

LightmapGI::BakeQuality LightmapGI::get_bake_quality() const {}

AABB LightmapGI::get_aabb() const {}

void LightmapGI::set_use_denoiser(bool p_enable) {}

bool LightmapGI::is_using_denoiser() const {}

void LightmapGI::set_denoiser_strength(float p_denoiser_strength) {}

float LightmapGI::get_denoiser_strength() const {}

void LightmapGI::set_denoiser_range(int p_denoiser_range) {}

int LightmapGI::get_denoiser_range() const {}

void LightmapGI::set_directional(bool p_enable) {}

bool LightmapGI::is_directional() const {}

void LightmapGI::set_use_texture_for_bounces(bool p_enable) {}

bool LightmapGI::is_using_texture_for_bounces() const {}

void LightmapGI::set_interior(bool p_enable) {}

bool LightmapGI::is_interior() const {}

void LightmapGI::set_environment_mode(EnvironmentMode p_mode) {}

LightmapGI::EnvironmentMode LightmapGI::get_environment_mode() const {}

void LightmapGI::set_environment_custom_sky(const Ref<Sky> &p_sky) {}

Ref<Sky> LightmapGI::get_environment_custom_sky() const {}

void LightmapGI::set_environment_custom_color(const Color &p_color) {}

Color LightmapGI::get_environment_custom_color() const {}

void LightmapGI::set_environment_custom_energy(float p_energy) {}

float LightmapGI::get_environment_custom_energy() const {}

void LightmapGI::set_bounces(int p_bounces) {}

int LightmapGI::get_bounces() const {}

void LightmapGI::set_bounce_indirect_energy(float p_indirect_energy) {}

float LightmapGI::get_bounce_indirect_energy() const {}

void LightmapGI::set_bias(float p_bias) {}

float LightmapGI::get_bias() const {}

void LightmapGI::set_texel_scale(float p_multiplier) {}

float LightmapGI::get_texel_scale() const {}

void LightmapGI::set_max_texture_size(int p_size) {}

int LightmapGI::get_max_texture_size() const {}

void LightmapGI::set_generate_probes(GenerateProbes p_generate_probes) {}

LightmapGI::GenerateProbes LightmapGI::get_generate_probes() const {}

void LightmapGI::set_camera_attributes(const Ref<CameraAttributes> &p_camera_attributes) {}

Ref<CameraAttributes> LightmapGI::get_camera_attributes() const {}

PackedStringArray LightmapGI::get_configuration_warnings() const {}

void LightmapGI::_validate_property(PropertyInfo &p_property) const {}

void LightmapGI::_bind_methods() {}

LightmapGI::LightmapGI() {}