载入中...
搜索中...
未找到
GpuAgents.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4#include "common/Module.h"
5#include "common/Result.h"
12
13#include <cstdint>
14#include <memory>
15#include <span>
16#include <vector>
17
18namespace eve::gpuagents {
19
30public:
32
40 [[nodiscard("world ownership must be retained")]] GpuAgentWorld* newWorld();
41
51 [[nodiscard("backend ownership must be retained")]] EffectBackend* newBackend(int kind, int maxAgents);
52
58 [[nodiscard]] EffectProfile makeProfile(int kind, int maxAgents) const;
59
71 [[nodiscard("check spawn")]] Result<void> spawnCloud(EffectBackend* backend, int count, float centerX,
72 float centerY, float centerZ, float spread) const;
73
87 [[nodiscard("check surface capture")]] Result<void> captureSurface(GpuAgentWorld* world,
88 const std::vector<float>& positions,
89 const std::vector<std::uint32_t>& indices,
90 float originX, float originY, float originZ,
91 float worldSize, int resolution) const;
92
100 [[nodiscard("check life-field sync")]] Result<void> syncLifeFieldBinding(GpuAgentWorld* world,
102};
103
104} // namespace eve::gpuagents
#define EVENGINE_API_DOMAINS
Definition Export.h:110
std::vector< std::uint32_t > indices
std::vector< float > positions
TokenKind kind
eve::action::ActionVfxBinding binding
World3D * world
Move-only, checked operation results for the common layer.
std::uint32_t count
EVENGINE_API_FOUNDATION public API.
Definition Module.h:46
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Binds an EffectProfile to a GpuAgentSimulation and optional renderer.
World-level registry for GPU agent simulations and environment semantics.
GPU Agents module — extensible fixed-step agent FX simulation.
Definition GpuAgents.h:29
Packs SurfaceField channels into Graphics-uploadable RGBA8 textures.
Type-erased profile bundle owned by an EffectBackend.