Scene-level stable selection of published reflection probes for a camera. 更多...
#include <ReflectionProbeRegistry.h>
Public 成员函数 | |
| ~ReflectionProbeRegistry () | |
| Detach all probes before script-owned destruction. | |
| void | add (ReflectionProbeCapture *probe) |
| Register a probe once; duplicate registrations are ignored. | |
| void | remove (ReflectionProbeCapture *probe) |
| Remove a registered probe. | |
| void | clear () |
| Remove every registered probe. | |
| int | getCount () const |
| Return the number of registered probes. | |
| int | getLastSelectedCount () const |
| Return the number of published probes selected by the last update. | |
| int | getLastCapturedFaceCount () const |
| Return faces rendered by the most recent scheduled tick. | |
| int | getLastPublishedCount () const |
| Return probe revisions published by the most recent scheduled tick. | |
| void | setSelectionHysteresis (float distance) |
| Set world-space distance hysteresis used to retain previous camera selections. | |
| float | getSelectionHysteresis () const |
| Return world-space camera-selection hysteresis. | |
| int | getLastCandidateCount () const |
| Return published candidates considered by the most recent camera update. | |
| void | setDistanceCullingEnabled (bool enabled) |
| Enable Pcg-style hard camera-distance qualification. | |
| bool | getDistanceCullingEnabled () const |
| Return whether hard camera-distance qualification is enabled. | |
| Result< void > | setMaxRenderDistance (float distance) |
| Set the positive Pcg probe render distance; failure preserves the previous value. | |
| float | getMaxRenderDistance () const |
| Return the Pcg probe render distance. | |
| int | getLastDistanceCulledCount () const |
| Return probes rejected by the last camera update's hard distance test. | |
| int | queueCapture (int changedMask=-1) |
Queue coherent recapture for probes whose capture mask intersects changedMask. | |
| int | queueCaptureAABB (float minX, float minY, float minZ, float maxX, float maxY, float maxZ, int changedMask=-1) |
| Queue probes whose mask and capture-radius sphere overlap a changed world AABB. | |
| int | tick (int faceBudget=1, int filterBudget=1, int filterSamples=64) |
| Advance every refresh policy while enforcing scene-wide GPU work budgets. | |
| int | updateCamera (Camera3D *camera) |
| Select eight probes nearest the camera view segment and replace Camera3D slots. | |
详细描述
Scene-level stable selection of published reflection probes for a camera.
在文件 ReflectionProbeRegistry.h 第 14 行定义.
构造及析构函数说明
◆ ~ReflectionProbeRegistry()
| eve::graphics::ReflectionProbeRegistry::~ReflectionProbeRegistry | ( | ) |
Detach all probes before script-owned destruction.
在文件 ReflectionProbeRegistry.cpp 第 12 行定义.
引用了 clear().
成员函数说明
◆ add()
| void eve::graphics::ReflectionProbeRegistry::add | ( | ReflectionProbeCapture * | probe | ) |
Register a probe once; duplicate registrations are ignored.
在文件 ReflectionProbeRegistry.cpp 第 14 行定义.
引用了 found.
◆ clear()
| void eve::graphics::ReflectionProbeRegistry::clear | ( | ) |
Remove every registered probe.
在文件 ReflectionProbeRegistry.cpp 第 33 行定义.
被这些函数引用 ~ReflectionProbeRegistry().
◆ getCount()
|
inline |
Return the number of registered probes.
在文件 ReflectionProbeRegistry.h 第 25 行定义.
◆ getDistanceCullingEnabled()
|
inline |
Return whether hard camera-distance qualification is enabled.
在文件 ReflectionProbeRegistry.h 第 41 行定义.
◆ getLastCandidateCount()
|
inline |
Return published candidates considered by the most recent camera update.
在文件 ReflectionProbeRegistry.h 第 37 行定义.
◆ getLastCapturedFaceCount()
|
inline |
Return faces rendered by the most recent scheduled tick.
在文件 ReflectionProbeRegistry.h 第 29 行定义.
◆ getLastDistanceCulledCount()
|
inline |
Return probes rejected by the last camera update's hard distance test.
在文件 ReflectionProbeRegistry.h 第 47 行定义.
◆ getLastPublishedCount()
|
inline |
Return probe revisions published by the most recent scheduled tick.
在文件 ReflectionProbeRegistry.h 第 31 行定义.
◆ getLastSelectedCount()
|
inline |
Return the number of published probes selected by the last update.
在文件 ReflectionProbeRegistry.h 第 27 行定义.
◆ getMaxRenderDistance()
|
inline |
Return the Pcg probe render distance.
在文件 ReflectionProbeRegistry.h 第 45 行定义.
◆ getSelectionHysteresis()
|
inline |
Return world-space camera-selection hysteresis.
在文件 ReflectionProbeRegistry.h 第 35 行定义.
◆ queueCapture()
| int eve::graphics::ReflectionProbeRegistry::queueCapture | ( | int | changedMask = -1 | ) |
Queue coherent recapture for probes whose capture mask intersects changedMask.
- 返回
- Number of probes marked dirty.
在文件 ReflectionProbeRegistry.cpp 第 58 行定义.
◆ queueCaptureAABB()
| int eve::graphics::ReflectionProbeRegistry::queueCaptureAABB | ( | float | minX, |
| float | minY, | ||
| float | minZ, | ||
| float | maxX, | ||
| float | maxY, | ||
| float | maxZ, | ||
| int | changedMask = -1 |
||
| ) |
Queue probes whose mask and capture-radius sphere overlap a changed world AABB.
- 返回
- Number of probes marked dirty.
在文件 ReflectionProbeRegistry.cpp 第 70 行定义.
引用了 center, eve::graphics::ReflectionProbeCapture::getCaptureFarDistance(), eve::graphics::ReflectionProbeCapture::getCaptureMask(), eve::graphics::ReflectionProbeCapture::getCenterX(), eve::graphics::ReflectionProbeCapture::getCenterY(), eve::graphics::ReflectionProbeCapture::getCenterZ(), mask, eve::graphics::ReflectionProbeCapture::queueCapture(), queued , 以及 u.
◆ remove()
| void eve::graphics::ReflectionProbeRegistry::remove | ( | ReflectionProbeCapture * | probe | ) |
Remove a registered probe.
在文件 ReflectionProbeRegistry.cpp 第 24 行定义.
◆ setDistanceCullingEnabled()
|
inline |
Enable Pcg-style hard camera-distance qualification.
在文件 ReflectionProbeRegistry.h 第 39 行定义.
引用了 enabled.
◆ setMaxRenderDistance()
| Result< void > eve::graphics::ReflectionProbeRegistry::setMaxRenderDistance | ( | float | distance | ) |
Set the positive Pcg probe render distance; failure preserves the previous value.
在文件 ReflectionProbeRegistry.cpp 第 45 行定义.
引用了 distance, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument , 以及 eve::Result< T >::success().
◆ setSelectionHysteresis()
| void eve::graphics::ReflectionProbeRegistry::setSelectionHysteresis | ( | float | distance | ) |
Set world-space distance hysteresis used to retain previous camera selections.
在文件 ReflectionProbeRegistry.cpp 第 54 行定义.
引用了 distance.
◆ tick()
| int eve::graphics::ReflectionProbeRegistry::tick | ( | int | faceBudget = 1, |
| int | filterBudget = 1, |
||
| int | filterSamples = 64 |
||
| ) |
Advance every refresh policy while enforcing scene-wide GPU work budgets.
- 参数
-
faceBudget Maximum cubemap faces rendered this call. filterBudget Maximum completed probes staged and filtered this call. filterSamples GGX filter sample count per published probe, clamped to [8,512].
- 返回
- Number of newly published revisions.
在文件 ReflectionProbeRegistry.cpp 第 96 行定义.
◆ updateCamera()
| int eve::graphics::ReflectionProbeRegistry::updateCamera | ( | Camera3D * | camera | ) |
Select eight probes nearest the camera view segment and replace Camera3D slots.
- 返回
- Number of enabled camera slots after selection.
在文件 ReflectionProbeRegistry.cpp 第 151 行定义.
引用了 a, eve::graphics::ReflectionProbeCapture::applyConfiguredToCamera(), b, camera, center, distance, eye, eve::graphics::ReflectionProbeCapture::getActiveCubemap(), eve::graphics::ReflectionProbeCapture::getCenterX(), eve::graphics::ReflectionProbeCapture::getCenterY(), eve::graphics::ReflectionProbeCapture::getCenterZ(), eve::graphics::ReflectionProbeCapture::getInfluenceExtentX(), eve::graphics::ReflectionProbeCapture::getInfluenceExtentY(), eve::graphics::ReflectionProbeCapture::getInfluenceExtentZ(), eve::graphics::ReflectionProbeCapture::getInfluenceIntensity(), eve::graphics::ReflectionProbeCapture::getInfluencePriority(), eve::graphics::ReflectionProbeCapture::getPublishedRevision(), eve::graphics::Camera3D::Data::kMaxReflectionProbes, order, priority, eve::graphics::ReflectionProbeCapture::queueCapture() , 以及 target.
该类的文档由以下文件生成:
- src/modules/graphics/ReflectionProbeRegistry.h
- src/modules/graphics/ReflectionProbeRegistry.cpp