载入中...
搜索中...
未找到
ProcgenProbeSink.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Export.h"
4#include "common/Result.h"
5
6#include <cstdint>
7#include <array>
8#include <string>
9#include <vector>
10
11namespace eve {
12
15 std::uint64_t sourcePointId = 0;
16 std::string resource;
17 int type = 0;
18 float x = 0, y = 0, z = 0;
19 float extentX = 1, extentY = 1, extentZ = 1;
20 int resolution = 128;
21 float clipDistance = 1000;
22 float shadowDistance = 80;
24 float irradianceR = 0.12F, irradianceG = 0.12F, irradianceB = 0.14F;
26 std::array<float, 27> sphericalHarmonics{};
27 bool hasSphericalHarmonics = false;
28};
29
35public:
36 static constexpr const char* capabilityName = "IProcgenProbeSink";
38 virtual ~IProcgenProbeSink() = default;
40 [[nodiscard]] virtual Result<int> replaceProbeBatch(const std::string& batchId,
41 const std::vector<ProcgenProbeDesc>& probes) = 0;
43 [[nodiscard]] virtual Result<int> removeProbeBatch(const std::string& batchId) = 0;
45 [[nodiscard]] virtual Result<int> tickProbeBatches(int faceBudget, int filterBudget, int filterSamples) = 0;
47 [[nodiscard]] virtual int probeCount(const std::string& batchId) const = 0;
49 [[nodiscard]] virtual int reflectionProbeCount(const std::string& batchId) const = 0;
51 [[nodiscard]] virtual int lightProbeCount(const std::string& batchId) const = 0;
52};
53
54} // namespace eve
float y
Definition AnimClip.cpp:738
float x
Definition AnimClip.cpp:738
float z
Definition AnimClip.cpp:738
#define EVENGINE_API_FOUNDATION_INLINE
仅供"只有内联成员"的类型使用的组宏:拥有者 dllexport,消费方不导入。
Definition Export.h:170
Move-only, checked operation results for the common layer.
Optional graphics consumer for complete generated probe batches. Implementations own all runtime reso...
virtual int reflectionProbeCount(const std::string &batchId) const =0
Return reflection probes currently owned by one batch.
virtual Result< int > replaceProbeBatch(const std::string &batchId, const std::vector< ProcgenProbeDesc > &probes)=0
Atomically create or reconcile a complete stable-identity probe batch.
virtual ~IProcgenProbeSink()=default
I procgen probe sink.
virtual int probeCount(const std::string &batchId) const =0
Return all probes currently owned by one batch.
virtual int lightProbeCount(const std::string &batchId) const =0
Return light probes currently owned by one batch.
virtual Result< int > removeProbeBatch(const std::string &batchId)=0
Remove a published probe batch and all of its owned capture resources.
virtual Result< int > tickProbeBatches(int faceBudget, int filterBudget, int filterSamples)=0
Advance bounded reflection capture and filtering work for all batches.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Build metadata (engine git commit, build time, third-party version).
Definition Build.cpp:16
Engine-neutral description of one generated reflection or light probe.