载入中...
搜索中...
未找到
DiffuseLightProbeRegistry.cpp
浏览该文件的文档.
23void writeProbe(DiffuseLightProbeVolumeSample& volume, int index, const eve::ProcgenProbeDesc& probe) {
25 volume.extents[static_cast<size_t>(index)] = glm::vec4(probe.extentX, probe.extentY, probe.extentZ, 0.f);
75void DiffuseLightProbeRegistry::removeBatch(const std::string& batchId) { batches_.erase(batchId); }
77Result<DiffuseLightProbeSample> DiffuseLightProbeRegistry::sample(const glm::vec3& position, int maxSamples) const {
107 DiagnosticCode::NotFound, "no diffuse light probe influences the sample position", "graphics.lightProbe"));
124Result<DiffuseLightProbeVolumeSample> DiffuseLightProbeRegistry::selectVolume(const glm::vec3& position) const {
138 singletonExtent = glm::max(singletonExtent, glm::vec3(probe.extentX, probe.extentY, probe.extentZ));
169 center[axis] = axisCounts[axis] == 2 ? (bounds[axis][0] + bounds[axis][1]) * 0.5f : bounds[axis][0];
173 const auto selected = std::min_element(grids.begin(), grids.end(), [](const auto& a, const auto& b) {
195 DiagnosticCode::NotFound, "no diffuse light probe volume contains the object", "graphics.lightProbe"));
196 std::stable_sort(candidates.begin(), candidates.end(), [](const Candidate& a, const Candidate& b) {
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Owns generated diffuse probes and samples their baked L0 irradiance.
Definition DiffuseLightProbeRegistry.h:29
void removeBatch(const std::string &batchId)
Remove every diffuse probe owned by one generated batch.
Definition DiffuseLightProbeRegistry.cpp:75
void replaceBatch(const std::string &batchId, const std::vector< eve::ProcgenProbeDesc > &probes)
Atomically replace the diffuse probes owned by one generated batch.
Definition DiffuseLightProbeRegistry.cpp:70
static DiffuseLightProbeRegistry & instance()
Return the process-wide graphics-owned registry.
Definition DiffuseLightProbeRegistry.cpp:65
Result< DiffuseLightProbeVolumeSample > selectVolume(const glm::vec3 &position) const
Select an object-local proxy volume; fragment shading performs the spatial interpolation.
Definition DiffuseLightProbeRegistry.cpp:124
Result< DiffuseLightProbeSample > sample(const glm::vec3 &position, int maxSamples) const
Blend up to maxSamples probes whose influence volumes contain position.
Definition DiffuseLightProbeRegistry.cpp:77
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
@ NotFound
Engine-neutral description of one generated reflection or light probe.
Definition ProcgenProbeSink.h:14
bool hasSphericalHarmonics
Definition ProcgenProbeSink.h:27
std::array< float, 27 > sphericalHarmonics
Definition ProcgenProbeSink.h:26
DiffuseLightProbeSample public API.
Definition DiffuseLightProbeRegistry.h:14
std::array< glm::vec4, 9 > coefficients
Definition DiffuseLightProbeRegistry.h:15
DiffuseLightProbeVolumeSample public API.
Definition DiffuseLightProbeRegistry.h:19
int count
Definition DiffuseLightProbeRegistry.h:24