|
Blender V5.0
|
#include <DNA_light_types.h>
Inherits Geometry.
Public Member Functions | |
| Light () | |
| void | tag_update (Scene *scene) |
| bool | has_contribution (const Scene *scene, const Object *object) |
| Shader * | get_shader () const |
| float | area (const Transform &tfm) const |
| void | compute_bounds () override |
| void | apply_transform (const Transform &tfm, const bool apply_to_motion) override |
| void | get_uv_tiles (ustring map, unordered_set< int > &tiles) override |
| PrimitiveType | primitive_type () const override |
| Public Member Functions inherited from Geometry | |
| Geometry (const NodeType *node_type, const Type type) | |
| ~Geometry () override | |
| virtual void | clear (bool preserve_shaders=false) |
| bool | need_attribute (Scene *scene, AttributeStandard std) |
| bool | need_attribute (Scene *scene, ustring name) |
| AttributeRequestSet | needed_attributes () |
| float | motion_time (const int step) const |
| int | motion_step (const float time) const |
| void | compute_bvh (Device *device, DeviceScene *dscene, SceneParams *params, Progress *progress, const size_t n, size_t total) |
| bool | need_build_bvh (BVHLayout layout) const |
| bool | is_instanced () const |
| bool | has_true_displacement () const |
| virtual bool | has_motion_blur () const |
| bool | has_voxel_attributes () const |
| bool | is_mesh () const |
| bool | is_hair () const |
| bool | is_pointcloud () const |
| bool | is_volume () const |
| bool | is_light () const |
| void | tag_update (Scene *scene, bool rebuild) |
| Public Member Functions inherited from Node | |
| Node (const NodeType *type, ustring name=ustring()) | |
| virtual | ~Node ()=0 |
| void | set (const SocketType &input, bool value) |
| void | set (const SocketType &input, const int value) |
| void | set (const SocketType &input, const uint value) |
| void | set (const SocketType &input, const uint64_t value) |
| void | set (const SocketType &input, const float value) |
| void | set (const SocketType &input, const float2 value) |
| void | set (const SocketType &input, const float3 value) |
| void | set (const SocketType &input, const char *value) |
| void | set (const SocketType &input, ustring value) |
| void | set (const SocketType &input, const Transform &value) |
| void | set (const SocketType &input, Node *value) |
| template<class ValueType, std::enable_if_t< std::is_enum_v< ValueType >, bool > = true> | |
| void | set (const SocketType &input, const ValueType &value) |
| void | set (const SocketType &input, array< bool > &value) |
| void | set (const SocketType &input, array< int > &value) |
| void | set (const SocketType &input, array< float > &value) |
| void | set (const SocketType &input, array< float2 > &value) |
| void | set (const SocketType &input, array< float3 > &value) |
| void | set (const SocketType &input, array< ustring > &value) |
| void | set (const SocketType &input, array< Transform > &value) |
| void | set (const SocketType &input, array< Node * > &value) |
| bool | get_bool (const SocketType &input) const |
| int | get_int (const SocketType &input) const |
| uint | get_uint (const SocketType &input) const |
| uint64_t | get_uint64 (const SocketType &input) const |
| float | get_float (const SocketType &input) const |
| float2 | get_float2 (const SocketType &input) const |
| float3 | get_float3 (const SocketType &input) const |
| ustring | get_string (const SocketType &input) const |
| Transform | get_transform (const SocketType &input) const |
| Node * | get_node (const SocketType &input) const |
| const array< bool > & | get_bool_array (const SocketType &input) const |
| const array< int > & | get_int_array (const SocketType &input) const |
| const array< float > & | get_float_array (const SocketType &input) const |
| const array< float2 > & | get_float2_array (const SocketType &input) const |
| const array< float3 > & | get_float3_array (const SocketType &input) const |
| const array< ustring > & | get_string_array (const SocketType &input) const |
| const array< Transform > & | get_transform_array (const SocketType &input) const |
| const array< Node * > & | get_node_array (const SocketType &input) const |
| bool | has_default_value (const SocketType &input) const |
| void | set_default_value (const SocketType &input) |
| bool | equals_value (const Node &other, const SocketType &socket) const |
| void | copy_value (const SocketType &socket, const Node &other, const SocketType &other_socket) |
| void | set_value (const SocketType &socket, const Node &other, const SocketType &other_socket) |
| bool | equals (const Node &other) const |
| void | hash (MD5Hash &md5) |
| size_t | get_total_size_in_bytes () const |
| bool | is_a (const NodeType *type) |
| bool | socket_is_modified (const SocketType &input) const |
| bool | is_modified () const |
| void | tag_modified () |
| void | clear_modified () |
| void | print_modified_sockets () const |
| const NodeOwner * | get_owner () const |
| void | set_owner (const NodeOwner *owner_) |
| int | reference_count () const |
| void | reference () |
| void | dereference () |
| void | clear_reference_count () |
Friends | |
| class | LightManager |
| class | LightTree |
Additional Inherited Members | |
| Public Types inherited from Geometry | |
| enum | Type { MESH , HAIR , VOLUME , POINTCLOUD , LIGHT } |
| Static Public Attributes inherited from Geometry | |
| static const uint | MAX_MOTION_STEPS = 129 |
| Protected Member Functions inherited from Node | |
| template<typename T> | |
| void | set_if_different (const SocketType &input, T value) |
| void | set_if_different (const SocketType &input, Node *value) |
| template<typename T> | |
| void | set_if_different (const SocketType &input, array< T > &value) |
| void | set_if_different (const SocketType &input, array< Node * > &value) |
| void | dereference_all_used_nodes () |
| Static Protected Member Functions inherited from Node | |
| template<typename T> | |
| static T & | get_socket_value (const Node *node, const SocketType &socket) |
| Protected Attributes inherited from Node | |
| const NodeOwner * | owner |
| int | ref_count {0} |
| SocketModifiedFlags | socket_modified |
Definition at line 21 of file DNA_light_types.h.
| Light::Light | ( | ) |
Definition at line 129 of file scene/light.cpp.
References Node::dereference_all_used_nodes(), Geometry::Geometry(), and Geometry::LIGHT.
|
overridevirtual |
Implements Geometry.
Definition at line 187 of file scene/light.cpp.
Definition at line 202 of file scene/light.cpp.
References angle(), area(), len, LIGHT_AREA, LIGHT_DISTANT, LIGHT_POINT, LIGHT_SPOT, M_PI_4_F, M_PI_F, sinf, size(), sqr, and transform_get_column().
Referenced by area(), LightManager::device_update_lights(), and LightTreeEmitter::LightTreeEmitter().
|
overridevirtual |
Implements Geometry.
Definition at line 182 of file scene/light.cpp.
| Shader * Light::get_shader | ( | ) | const |
Definition at line 177 of file scene/light.cpp.
References nullptr.
Referenced by LightManager::device_update_lights(), has_contribution(), LightTreeEmitter::LightTreeEmitter(), and HdCyclesSession::UpdateScene().
|
overridevirtual |
Implements Geometry.
Definition at line 192 of file scene/light.cpp.
Definition at line 151 of file scene/light.cpp.
References Scene::default_light, Shader::emission_estimate, get_shader(), is_zero(), LIGHT_AREA, LIGHT_BACKGROUND, transform_get_column(), and zero_float3().
Referenced by LightManager::test_enabled_lights().
|
overridevirtual |
| void Light::tag_update | ( | Scene * | scene | ) |
Definition at line 134 of file scene/light.cpp.
References Node::is_modified(), Scene::light_manager, LightManager::LIGHT_MODIFIED, and Node::Node().
|
friend |
|
friend |
| short Light::_pad1 |
Definition at line 51 of file DNA_light_types.h.
| float Light::_pad2 |
Definition at line 90 of file DNA_light_types.h.
| struct AnimData* Light::adt |
Animation data (must be immediately after id for utilities to use it).
Definition at line 30 of file DNA_light_types.h.
Referenced by acf_dslight_setting_ptr(), and make_new_animlistelem().
| short Light::area_shape |
Definition at line 50 of file DNA_light_types.h.
Referenced by blender::ed::object::apply_objects_internal(), BKE_light_area(), blender::io::usd::USDLightWriter::do_write(), gizmo_area_light_foreach_rna_prop(), gizmo_area_light_prop_matrix_get(), gizmo_area_light_prop_matrix_set(), blender::io::hydra::LightData::init(), blender::io::hydra::LightData::prim_type(), blender::io::usd::USDLightReader::read_object_data(), and WIDGETGROUP_light_area_refresh().
| float Light::area_size |
Definition at line 52 of file DNA_light_types.h.
Referenced by blender::ed::object::apply_objects_internal(), BKE_light_area(), BKE_object_obdata_size_init(), blender::io::usd::USDLightWriter::do_write(), gizmo_area_light_prop_matrix_get(), gizmo_area_light_prop_matrix_set(), blender::io::hydra::LightData::init(), and blender::io::usd::USDLightReader::read_object_data().
| float Light::area_sizey |
Definition at line 53 of file DNA_light_types.h.
Referenced by blender::ed::object::apply_objects_internal(), BKE_light_area(), BKE_object_obdata_size_init(), blender::io::usd::USDLightWriter::do_write(), gizmo_area_light_prop_matrix_get(), gizmo_area_light_prop_matrix_set(), blender::io::hydra::LightData::init(), and blender::io::usd::USDLightReader::read_object_data().
| float Light::area_sizez |
Definition at line 54 of file DNA_light_types.h.
Referenced by blender::ed::object::apply_objects_internal(), and BKE_object_obdata_size_init().
| float Light::area_spread |
Definition at line 55 of file DNA_light_types.h.
| float Light::att_dist |
Definition at line 77 of file DNA_light_types.h.
| float Light::b |
Definition at line 37 of file DNA_light_types.h.
Referenced by blender::eevee::LightModule::begin_sync(), blender::io::usd::USDLightWriter::do_write(), blender::io::fbx::FbxImportContext::import_lights(), blender::io::hydra::LightData::init(), and blender::io::usd::USDLightReader::read_object_data().
| int Light::cascade_count |
Definition at line 70 of file DNA_light_types.h.
| float Light::cascade_exponent |
Definition at line 68 of file DNA_light_types.h.
| float Light::cascade_fade |
Definition at line 69 of file DNA_light_types.h.
| float Light::cascade_max_dist |
Definition at line 67 of file DNA_light_types.h.
| float Light::clipend_deprecated |
Definition at line 65 of file DNA_light_types.h.
| float Light::clipsta |
Definition at line 64 of file DNA_light_types.h.
| float Light::diff_fac |
Definition at line 72 of file DNA_light_types.h.
Referenced by blender::io::usd::USDLightWriter::do_write(), blender::io::hydra::LightData::init(), and blender::io::usd::USDLightReader::read_object_data().
| float energy_deprecated Light::DNA_DEPRECATED |
Definition at line 89 of file DNA_light_types.h.
| float Light::energy |
Definition at line 39 of file DNA_light_types.h.
Referenced by blender::eevee::LightModule::begin_sync(), BKE_light_power(), blender::io::usd::USDLightWriter::do_write(), blender::io::fbx::FbxImportContext::import_lights(), blender::io::hydra::LightData::init(), light_blend_write(), blender::ed::object::object_light_add_exec(), and blender::io::usd::USDLightReader::read_object_data().
| float Light::exposure |
| short Light::flag |
Definition at line 33 of file DNA_light_types.h.
Referenced by acf_dslight_setting_ptr().
| float Light::g |
Definition at line 37 of file DNA_light_types.h.
Referenced by blender::eevee::LightModule::begin_sync(), blender::io::usd::USDLightWriter::do_write(), blender::io::fbx::FbxImportContext::import_lights(), blender::io::hydra::LightData::init(), and blender::io::usd::USDLightReader::read_object_data().
| ID Light::id |
Definition at line 28 of file DNA_light_types.h.
Referenced by animdata_filter_ds_obdata(), blender::ed::object::apply_objects_internal(), BKE_light_eval(), blender::deg::DepsgraphNodeBuilder::build_light(), blender::deg::DepsgraphRelationBuilder::build_light(), blender::deg::DepsgraphRelationBuilder::build_object_data_light(), blender::io::usd::USDLightWriter::do_write(), gizmo_area_light_foreach_rna_prop(), gizmo_area_light_prop_matrix_set(), gizmo_light_radius_foreach_rna_prop(), gizmo_light_radius_prop_matrix_set(), gizmo_spot_blend_foreach_rna_prop(), gizmo_spot_blend_prop_matrix_set(), image_walk_id_all_users(), blender::io::fbx::FbxImportContext::import_lights(), lamp_changed(), light_blend_write(), light_copy_data(), light_free_data(), blender::bke::node_tree_iterator_step(), paste_mtex_exec(), blender::io::hydra::LightData::update(), WIDGETGROUP_light_area_poll(), WIDGETGROUP_light_point_poll(), WIDGETGROUP_light_spot_poll(), and WIDGETGROUP_light_spot_refresh().
| int Light::mode |
Definition at line 34 of file DNA_light_types.h.
Referenced by blender::eevee::LightModule::begin_sync(), BKE_light_color(), blo_do_versions_420(), blender::io::usd::USDLightWriter::do_write(), blender::io::fbx::FbxImportContext::import_lights(), blender::io::hydra::LightData::init(), and blender::io::usd::USDLightReader::read_object_data().
| Light::NODE_DECLARE |
Definition at line 30 of file scene/light.h.
| struct bNodeTree* Light::nodetree |
Definition at line 86 of file DNA_light_types.h.
Referenced by animdata_filter_ds_obdata(), BPy_InlineShaderNodes_static_from_light(), blender::deg::DepsgraphNodeBuilder::build_light(), blender::deg::DepsgraphRelationBuilder::build_light(), image_walk_id_all_users(), light_blend_write(), light_copy_data(), light_emission_node_to_energy(), light_foreach_id(), light_free_data(), and blender::bke::node_tree_iterator_step().
| short Light::pr_texture |
Definition at line 61 of file DNA_light_types.h.
| struct PreviewImage* Light::preview |
Definition at line 83 of file DNA_light_types.h.
Referenced by light_blend_read_data(), light_blend_write(), light_copy_data(), and light_free_data().
| float Light::r |
Definition at line 37 of file DNA_light_types.h.
Referenced by blender::eevee::LightModule::begin_sync(), BKE_light_color(), blender::io::usd::USDLightWriter::do_write(), blender::io::fbx::FbxImportContext::import_lights(), blender::io::hydra::LightData::init(), light_emission_unify(), light_foreach_working_space_color(), and blender::io::usd::USDLightReader::read_object_data().
| float Light::radius |
Definition at line 43 of file DNA_light_types.h.
Referenced by BKE_light_area(), BKE_object_obdata_size_init(), blender::io::usd::USDLightWriter::do_write(), gizmo_light_radius_prop_matrix_get(), blender::io::hydra::LightData::init(), and blender::io::usd::USDLightReader::read_object_data().
| float Light::shadow_filter_radius |
Definition at line 78 of file DNA_light_types.h.
Referenced by blender::eevee::LightModule::begin_sync().
| float Light::shadow_jitter_overblur |
Definition at line 80 of file DNA_light_types.h.
Referenced by blender::eevee::LightModule::begin_sync(), and blo_do_versions_420().
| float Light::shadow_maximum_resolution |
Definition at line 79 of file DNA_light_types.h.
Referenced by blender::eevee::LightModule::begin_sync().
| float Light::spec_fac |
Definition at line 73 of file DNA_light_types.h.
Referenced by blender::io::usd::USDLightWriter::do_write(), blender::io::hydra::LightData::init(), and blender::io::usd::USDLightReader::read_object_data().
| float Light::spotblend |
| float Light::spotsize |
Definition at line 46 of file DNA_light_types.h.
Referenced by BKE_camera_params_from_object(), blender::io::usd::USDLightWriter::do_write(), gizmo_spot_blend_prop_matrix_get(), gizmo_spot_blend_prop_matrix_set(), blender::io::fbx::FbxImportContext::import_lights(), blender::io::hydra::LightData::init(), blender::io::usd::USDLightReader::read_object_data(), WIDGETGROUP_light_spot_refresh(), and WIDGETGROUP_light_target_draw_prepare().
| float Light::sun_angle |
Definition at line 58 of file DNA_light_types.h.
Referenced by blender::eevee::LightModule::begin_sync(), BKE_light_area(), blender::io::usd::USDLightWriter::do_write(), blender::io::hydra::LightData::init(), and blender::io::usd::USDLightReader::read_object_data().
| float Light::temperature |
Definition at line 38 of file DNA_light_types.h.
Referenced by BKE_light_color(), blender::io::usd::USDLightWriter::do_write(), blender::io::hydra::LightData::init(), and blender::io::usd::USDLightReader::read_object_data().
| float Light::transmission_fac |
Definition at line 74 of file DNA_light_types.h.
| short Light::type |
Definition at line 33 of file DNA_light_types.h.
Referenced by blender::ed::object::apply_objects_internal(), blender::eevee::LightModule::begin_sync(), BKE_light_area(), blender::io::usd::USDLightWriter::do_write(), blender::io::fbx::FbxImportContext::import_lights(), blender::io::hydra::LightData::init(), light_blend_write(), light_emission_unify(), lineart_main_try_generate_shadow_v3(), blender::ed::object::object_is_target_compat(), blender::ed::object::object_light_add_exec(), blender::io::hydra::LightData::prim_type(), blender::io::usd::USDLightReader::read_object_data(), blender::ed::object::select_grouped_lighttype(), blender::ed::outliner::tree_element_get_icon_from_id(), WIDGETGROUP_light_area_poll(), WIDGETGROUP_light_point_poll(), WIDGETGROUP_light_spot_poll(), WIDGETGROUP_light_target_draw_prepare(), and WIDGETGROUP_light_target_poll().
| short Light::use_nodes |
Definition at line 61 of file DNA_light_types.h.
Referenced by image_walk_id_all_users(), light_emission_node_to_energy(), and light_emission_unify().
| float Light::volume_fac |
Definition at line 75 of file DNA_light_types.h.