载入中...
搜索中...
未找到
#include "common/Export.h"#include <array>#include <cstdint>#include <glm/vec3.hpp>#include <span>#include "common/Result.h"类 | |
| struct | eve::graphics::VegetationGpuAtlas |
| Immutable GPU projection of nine layers from one vegetation field channel. The source field remains authoritative; fieldRevision detects stale projections. Texture ownership remains with factory and the caller must release it through that factory. 更多... | |
| struct | eve::graphics::VegetationGpuFieldSet |
| Coherent detached projections for all four vegetation channels. Textures are factory-owned. The caller must release the set through releaseVegetationGpuFieldSet on the same graphics thread and factory. 更多... | |
| struct | eve::graphics::VegetationGpuRuntime |
| Runtime-owned global inputs shared by one coherent vegetation field binding. Time is explicit for deterministic replay. Noise and atlas textures remain borrowed. 更多... | |
命名空间 | |
| namespace | eve |
| Build metadata (engine git commit, build time, third-party version). | |
| namespace | eve::graphics |
| 卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局参数。 数据模型与渲染/交互逻辑见 CardTypes.h。 | |
函数 | |
| Result< VegetationExtrasGpuAtlas > | eve::graphics::uploadVegetationExtrasAtlas (IResourceFactory &factory, const VegetationField &field, glm::vec3 center, glm::vec3 extent, uint32_t width, uint32_t height, bool snapToTexel=true) |
| Bake and atomically upload all nine Extras layers as a linear RGBA16F 2D array. | |
| Result< VegetationColorsGpuAtlas > | eve::graphics::uploadVegetationColorsAtlas (IResourceFactory &factory, const VegetationField &field, glm::vec3 center, glm::vec3 extent, uint32_t width, uint32_t height, bool snapToTexel=true) |
| Bake and atomically upload all nine Colors layers as a linear RGBA16F 2D array. Ownership, revision, geometry, budget and threading contracts match uploadVegetationExtrasAtlas. | |
| Result< VegetationMotionGpuAtlas > | eve::graphics::uploadVegetationMotionAtlas (IResourceFactory &factory, const VegetationField &field, glm::vec3 center, glm::vec3 extent, uint32_t width, uint32_t height, bool snapToTexel=true) |
| Bake and atomically upload all nine Motion layers as a linear RGBA16F 2D array. | |
| Result< VegetationVertexGpuAtlas > | eve::graphics::uploadVegetationVertexAtlas (IResourceFactory &factory, const VegetationField &field, glm::vec3 center, glm::vec3 extent, uint32_t width, uint32_t height, bool snapToTexel=true) |
| Bake and atomically upload all nine Vertex layers as a linear RGBA16F 2D array. | |
| Result< VegetationGpuFieldSet > | eve::graphics::uploadVegetationGpuFieldSet (IResourceFactory &factory, const VegetationField &field, glm::vec3 center, glm::vec3 extent, uint32_t width, uint32_t height, bool snapToTexel=true) |
| Bake and upload all four nine-layer projections as one publication. Earlier uploads are released if any later channel fails. The returned set is coherent by revision, snapped bounds and dimensions and owns no factory lifetime. | |
| Result< VegetationGpuFieldSet > | eve::graphics::uploadVegetationGpuFieldSet (IResourceFactory &factory, std::span< const VegetationAtlas, 9 > layers, std::uint64_t sourceRevision) |
| Atomically upload nine pre-baked layer atlases into four coherent RGBA16F arrays. | |
| Result< VegetationGpuFieldSet > | eve::graphics::uploadVegetationGpuFieldSet (IResourceFactory &factory, std::span< const VegetationChannelAtlas, 9 > colors, std::span< const VegetationChannelAtlas, 9 > extras, std::span< const VegetationChannelAtlas, 9 > motion, std::span< const VegetationChannelAtlas, 9 > vertex, std::uint64_t sourceRevision) |
| Atomically upload four independently sized groups of nine pre-baked channel layers. Each group must be internally coherent. The combined RGBA16F upload is limited to 256 MiB. | |
| Result< void > | eve::graphics::releaseVegetationGpuFieldSet (IResourceFactory &factory, VegetationGpuFieldSet &set) |
| Release every texture still present in a detached field set. Successful entries are nulled. If a foreign/already-released entry is found, remaining entries are still attempted and the set retains only failed pointers. | |
| Result< void > | eve::graphics::bindVegetationGpuFields (PbrSurface &surface, const VegetationField &field, const VegetationExtrasGpuAtlas &extras, const VegetationColorsGpuAtlas &colors, const VegetationMotionGpuAtlas &motion, const VegetationVertexGpuAtlas &vertex, const VegetationGpuRuntime &runtime) |
| Atomically bind four coherent GPU projections to an owning PBR parameter snapshot. | |
| Result< void > | eve::graphics::bindVegetationGpuFields (PbrSurface &surface, const VegetationField &field, const VegetationGpuFieldSet &set, const VegetationGpuRuntime &runtime) |
| Convenience overload for a coherent detached four-channel set. | |
| Result< void > | eve::graphics::bindVegetationGpuFields (PbrSurface &surface, const VegetationGpuFieldSet &set, std::uint64_t expectedRevision, const VegetationGpuRuntime &runtime) |
| Bind a coherent field set owned by a scene/runtime revision rather than VegetationField. | |