载入中...
搜索中...
未找到
DiffuseLightProbeRegistry.h
浏览该文件的文档.
1#pragma once
2
4
5#include <glm/vec3.hpp>
6#include <glm/vec4.hpp>
7#include <string>
8#include <unordered_map>
9#include <vector>
10
11namespace eve::graphics {
12
15 std::array<glm::vec4, 9> coefficients{};
16};
17
20 static constexpr int kMaxProbes = 8;
21 std::array<glm::vec4, kMaxProbes> positions{};
22 std::array<glm::vec4, kMaxProbes> extents{};
23 std::array<glm::vec4, kMaxProbes * 9> coefficients{};
24 int count = 0;
25 bool trilinearCell = false;
26};
27
30public:
32 static DiffuseLightProbeRegistry& instance();
33
35 void replaceBatch(const std::string& batchId, const std::vector<eve::ProcgenProbeDesc>& probes);
37 void removeBatch(const std::string& batchId);
39 [[nodiscard]] Result<DiffuseLightProbeSample> sample(const glm::vec3& position, int maxSamples) const;
41 [[nodiscard]] Result<DiffuseLightProbeVolumeSample> selectVolume(const glm::vec3& position) const;
42
43private:
44 std::unordered_map<std::string, std::vector<eve::ProcgenProbeDesc>> batches_;
45};
46
47} // namespace eve::graphics
#define EVENGINE_API_BACKENDS
Definition Export.h:108
std::array< float, 3 > position
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Owns generated diffuse probes and samples their baked L0 irradiance.
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
DiffuseLightProbeSample public API.
DiffuseLightProbeVolumeSample public API.
std::array< glm::vec4, kMaxProbes *9 > coefficients