Process-wide defaults for creating shadows per light family. 更多...
#include <ShadowScheme.h>
静态 Public 成员函数 | |
| static ShadowSchemeSettings & | current () |
| Borrow the process-wide settings object. | |
Public 属性 | |
| bool | enableDirectionalCsm = true |
| bool | enableSpotPerspective = true |
| bool | enablePointCube = false |
| int | directionalMapSize = ShadowConfig::kMapSize |
| int | localMapSize = 1024 |
| int | maxSpotShadowCasters = ShadowConfig::kLocalSlots |
| Max local atlas occupants this frame (≤ kLocalSlots). | |
| int | maxPointShadowCasters = 0 |
| float | defaultSpotBias = 0.002f |
| float | defaultPointBias = 0.003f |
| bool | enableLocalPaging = true |
| Score by camera importance and sticky-slot hysteresis (vs intensity only). | |
| int | maxLocalUpdatesPerFrame = ShadowConfig::kLocalSlots |
| Max local shadow layers redrawn per frame (time-slice). Occupants beyond this still sample last-written depth when paging keeps them. | |
| float | hysteresisBonus = 0.35f |
| Multiplicative bonus for casters that already own a slot (reduces flicker). | |
| float | minPageScore = 1e-4f |
| Drop candidates below this score when paging view is valid. | |
详细描述
Process-wide defaults for creating shadows per light family.
Controllers (RenderControl / script) mutate this; RenderSystem3D reads it each frame when selecting casters and allocating atlas slots.
Local spot shadows use a fixed atlas (kLocalSlots). When more casters request shadows than slots, paging scores by intensity / distance / soft screen coverage and keeps sticky occupancy (hysteresis). An independent update budget can time-slice redraws while still sampling cached maps.
@thread Render thread only.
在文件 ShadowScheme.h 第 60 行定义.
成员函数说明
◆ current()
|
static |
Borrow the process-wide settings object.
在文件 ShadowScheme.cpp 第 85 行定义.
类成员变量说明
◆ defaultPointBias
| float eve::graphics::ShadowSchemeSettings::defaultPointBias = 0.003f |
在文件 ShadowScheme.h 第 70 行定义.
◆ defaultSpotBias
| float eve::graphics::ShadowSchemeSettings::defaultSpotBias = 0.002f |
在文件 ShadowScheme.h 第 69 行定义.
◆ directionalMapSize
| int eve::graphics::ShadowSchemeSettings::directionalMapSize = ShadowConfig::kMapSize |
在文件 ShadowScheme.h 第 64 行定义.
◆ enableDirectionalCsm
| bool eve::graphics::ShadowSchemeSettings::enableDirectionalCsm = true |
在文件 ShadowScheme.h 第 61 行定义.
◆ enableLocalPaging
| bool eve::graphics::ShadowSchemeSettings::enableLocalPaging = true |
Score by camera importance and sticky-slot hysteresis (vs intensity only).
在文件 ShadowScheme.h 第 73 行定义.
◆ enablePointCube
| bool eve::graphics::ShadowSchemeSettings::enablePointCube = false |
在文件 ShadowScheme.h 第 63 行定义.
◆ enableSpotPerspective
| bool eve::graphics::ShadowSchemeSettings::enableSpotPerspective = true |
在文件 ShadowScheme.h 第 62 行定义.
◆ hysteresisBonus
| float eve::graphics::ShadowSchemeSettings::hysteresisBonus = 0.35f |
Multiplicative bonus for casters that already own a slot (reduces flicker).
在文件 ShadowScheme.h 第 80 行定义.
◆ localMapSize
| int eve::graphics::ShadowSchemeSettings::localMapSize = 1024 |
在文件 ShadowScheme.h 第 65 行定义.
◆ maxLocalUpdatesPerFrame
| int eve::graphics::ShadowSchemeSettings::maxLocalUpdatesPerFrame = ShadowConfig::kLocalSlots |
Max local shadow layers redrawn per frame (time-slice). Occupants beyond this still sample last-written depth when paging keeps them.
在文件 ShadowScheme.h 第 78 行定义.
◆ maxPointShadowCasters
| int eve::graphics::ShadowSchemeSettings::maxPointShadowCasters = 0 |
在文件 ShadowScheme.h 第 68 行定义.
◆ maxSpotShadowCasters
| int eve::graphics::ShadowSchemeSettings::maxSpotShadowCasters = ShadowConfig::kLocalSlots |
Max local atlas occupants this frame (≤ kLocalSlots).
在文件 ShadowScheme.h 第 67 行定义.
◆ minPageScore
| float eve::graphics::ShadowSchemeSettings::minPageScore = 1e-4f |
Drop candidates below this score when paging view is valid.
在文件 ShadowScheme.h 第 82 行定义.
该结构体的文档由以下文件生成:
- src/modules/graphics/ShadowScheme.h
- src/modules/graphics/ShadowScheme.cpp