|
Blender V4.3
|
#include <eevee_shadow.hh>
Inherits blender::eevee::ShadowTileMapData.
Public Member Functions | |
| ShadowTileMap (int tiles_index_) | |
| void | set_dirty () |
| void | set_updated () |
Tile map | |
| void | sync_orthographic (const float4x4 &object_mat_, int2 origin_offset, int clipmap_level, eShadowProjectionType projection_type_, uint2 shadow_set_membership_=~uint2(0)) |
| void | sync_cubeface (eLightType light_type_, const float4x4 &object_mat, float near, float far, eCubeFace face, uint2 shadow_set_membership_=~uint2(0)) |
| void | debug_draw () const |
Public Attributes | |
| int | level = INT_MAX |
| eCubeFace | cubeface = Z_NEG |
| float4x4 | object_mat |
Public Attributes inherited from blender::eevee::ShadowTileMapData | |
| float4x4 | viewmat |
| float4x4 | winmat |
| float4 | corners [4] |
| int2 | grid_offset |
| int2 | grid_shift |
| eShadowProjectionType | projection_type |
| int | tiles_index |
| int | clip_data_index |
| eLightType | light_type |
| bool32_t | is_dirty |
| int | effective_lod_min |
| float | _pad2 |
| float | clip_near |
| float | clip_far |
| float | half_size |
| float2 | center_offset |
| uint2 | shadow_set_membership |
| uint2 | _pad3 |
Static Public Attributes | |
| static constexpr int64_t | tile_map_resolution = SHADOW_TILEMAP_RES |
| static constexpr int64_t | tiles_count = tile_map_resolution * tile_map_resolution |
Definition at line 70 of file eevee_shadow.hh.
|
inline |
| void blender::eevee::ShadowTileMap::debug_draw | ( | ) | const |
Used for debug drawing.
Definition at line 119 of file eevee_shadow.cc.
References cubeface, drw_debug_matrix_as_bbox, int, blender::math::invert(), level, blender::eevee::ShadowTileMapData::projection_type, blender::eevee::SHADOW_PROJECTION_CUBEFACE, blender::eevee::ShadowTileMapData::viewmat, and blender::eevee::ShadowTileMapData::winmat.
|
inline |
Definition at line 108 of file eevee_shadow.hh.
References blender::eevee::ShadowTileMapData::is_dirty.
Referenced by ShadowTileMap(), sync_cubeface(), and sync_orthographic().
|
inline |
Definition at line 113 of file eevee_shadow.hh.
References blender::eevee::ShadowTileMapData::is_dirty.
| void blender::eevee::ShadowTileMap::sync_cubeface | ( | eLightType | light_type_, |
| const float4x4 & | object_mat, | ||
| float | near, | ||
| float | far, | ||
| eCubeFace | face, | ||
| uint2 | shadow_set_membership_ = ~uint2(0) ) |
Definition at line 71 of file eevee_shadow.cc.
References blender::eevee::ShadowTileMapData::center_offset, blender::eevee::ShadowTileMapData::clip_far, blender::eevee::ShadowTileMapData::clip_near, cubeface, equals_m4m4(), blender::eevee::ShadowTileMapData::grid_offset, blender::eevee::ShadowTileMapData::half_size, blender::math::invert(), blender::eevee::ShadowTileMapData::light_type, blender::MatBase< T, NumCol, NumRow, Alignment >::location(), object_mat, blender::math::projection::perspective(), blender::eevee::ShadowTileMapData::projection_type, blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), set_dirty(), blender::eevee::shadow_face_mat, blender::eevee::SHADOW_PROJECTION_CUBEFACE, blender::eevee::ShadowTileMapData::shadow_set_membership, SHADOW_TILEMAP_RES, blender::math::transform_point(), blender::math::transpose(), blender::eevee::ShadowTileMapData::viewmat, and blender::eevee::ShadowTileMapData::winmat.
Referenced by blender::draw::test_eevee_shadow_page_mask_ex(), and blender::draw::test_eevee_shadow_tag_update().
| void blender::eevee::ShadowTileMap::sync_orthographic | ( | const float4x4 & | object_mat_, |
| int2 | origin_offset, | ||
| int | clipmap_level, | ||
| eShadowProjectionType | projection_type_, | ||
| uint2 | shadow_set_membership_ = ~uint2(0) ) |
Definition at line 29 of file eevee_shadow.cc.
References blender::eevee::ShadowTileMapData::center_offset, blender::eevee::ShadowDirectional::coverage_get(), equals_m4m4(), blender::eevee::ShadowTileMapData::grid_offset, blender::eevee::ShadowTileMapData::grid_shift, blender::eevee::ShadowTileMapData::half_size, blender::eevee::LIGHT_SUN, blender::eevee::ShadowTileMapData::light_type, object_mat, blender::math::projection::orthographic(), blender::eevee::ShadowTileMapData::projection_type, blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), set_dirty(), blender::eevee::ShadowTileMapData::shadow_set_membership, blender::eevee::ShadowDirectional::tile_size_get(), blender::math::transpose(), blender::eevee::ShadowTileMapData::viewmat, and blender::eevee::ShadowTileMapData::winmat.
Referenced by blender::draw::test_eevee_shadow_tag_update().
Cube face index.
Definition at line 77 of file eevee_shadow.hh.
Referenced by debug_draw(), and sync_cubeface().
| int blender::eevee::ShadowTileMap::level = INT_MAX |
Level of detail for clipmap.
Definition at line 75 of file eevee_shadow.hh.
Referenced by debug_draw().
| float4x4 blender::eevee::ShadowTileMap::object_mat |
Cached, used for detecting updates.
Definition at line 79 of file eevee_shadow.hh.
Referenced by sync_cubeface(), and sync_orthographic().
|
staticconstexpr |
Definition at line 71 of file eevee_shadow.hh.
Referenced by blender::eevee::ShadowTileMapPool::ShadowTileMapPool().
|
staticconstexpr |
Definition at line 72 of file eevee_shadow.hh.