|
Blender V4.3
|
#include <eevee_light.hh>
Inherits LightData, and blender::NonCopyable.
Public Member Functions | |
| Light () | |
| Light (Light &&other) | |
| ~Light () | |
Public Member Functions inherited from blender::NonCopyable | |
| NonCopyable (const NonCopyable &other)=delete | |
| NonCopyable & | operator= (const NonCopyable &other)=delete |
| NonCopyable ()=default | |
| NonCopyable (NonCopyable &&other)=default | |
| NonCopyable & | operator= (NonCopyable &&other)=default |
Public Attributes | |
| bool | initialized = false |
| bool | used = false |
| ShadowDirectional * | directional = nullptr |
| ShadowPunctual * | punctual = nullptr |
Public Attributes inherited from LightData | |
| float4 | direction |
| float4 | specular_color |
| float4 | diffuse_color_wrap |
Light Object | |
| void | sync (ShadowModule &shadows, float4x4 object_to_world, char visibility_flag, const ::Light *la, const LightLinking *light_linking, float threshold) |
| void | shadow_ensure (ShadowModule &shadows) |
| void | shadow_discard_safe (ShadowModule &shadows) |
| void | debug_draw () |
Definition at line 43 of file eevee_light.hh.
|
inline |
Definition at line 53 of file eevee_light.hh.
References blender::eevee::LIGHT_SUN.
|
inline |
Definition at line 61 of file eevee_light.hh.
|
inline |
Definition at line 72 of file eevee_light.hh.
References BLI_assert, directional, and punctual.
| void Light::debug_draw | ( | ) |
Definition at line 323 of file eevee_light.cc.
References drw_debug_sphere, and blender::eevee::transform_location().
| void Light::shadow_discard_safe | ( | ShadowModule & | shadows | ) |
Definition at line 133 of file eevee_light.cc.
References directional, blender::eevee::ShadowModule::directional_pool, punctual, and blender::eevee::ShadowModule::punctual_pool.
Referenced by sync().
| void Light::shadow_ensure | ( | ShadowModule & | shadows | ) |
Definition at line 145 of file eevee_light.cc.
References directional, blender::eevee::ShadowModule::directional_pool, blender::eevee::is_sun_light(), punctual, and blender::eevee::ShadowModule::punctual_pool.
Referenced by sync().
| void Light::sync | ( | ShadowModule & | shadows, |
| float4x4 | object_to_world, | ||
| char | visibility_flag, | ||
| const ::Light * | la, | ||
| const LightLinking * | light_linking, | ||
| float | threshold ) |
Definition at line 55 of file eevee_light.cc.
References blender::assign_if_different(), blender::math::cross(), initialized, LA_SHADOW, LA_SHADOW_JITTER, LA_USE_SOFT_FALLOFF, blender::eevee::LIGHT_DIFFUSE, LightLinkingRuntime::light_set_membership, blender::eevee::LIGHT_SPECULAR, blender::eevee::LIGHT_TRANSMISSION, blender::eevee::LIGHT_VOLUME, negate_v3(), blender::math::normalize_and_get_size(), OB_HIDE_DIFFUSE, OB_HIDE_GLOSSY, OB_HIDE_TRANSMISSION, OB_HIDE_VOLUME_SCATTER, power(), LightLinking::runtime, blender::math::scale(), shadow_discard_safe(), shadow_ensure(), LightLinkingRuntime::shadow_set_membership, blender::eevee::to_light_type(), blender::eevee::uint64_to_uint2(), blender::MatBase< T, NumCol, NumRow, Alignment >::view(), blender::MatBase< T, NumCol, NumRow, Alignment >::x_axis(), blender::MatBase< T, NumCol, NumRow, Alignment >::y_axis(), and blender::MatBase< T, NumCol, NumRow, Alignment >::z_axis().
| ShadowDirectional* blender::eevee::Light::directional = nullptr |
Pointers to source Shadow. Type depends on LightData::type.
Definition at line 49 of file eevee_light.hh.
Referenced by shadow_discard_safe(), shadow_ensure(), and ~Light().
| bool blender::eevee::Light::initialized = false |
Definition at line 45 of file eevee_light.hh.
Referenced by sync().
| ShadowPunctual* blender::eevee::Light::punctual = nullptr |
Definition at line 50 of file eevee_light.hh.
Referenced by shadow_discard_safe(), shadow_ensure(), and ~Light().
| bool blender::eevee::Light::used = false |
Definition at line 46 of file eevee_light.hh.