载入中...
搜索中...
未找到
AgentInstanceRenderer.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
5
6#include <glm/glm.hpp>
7
8#include <vector>
9
10namespace eve::gpuagents {
11
18public:
24 int sync(const std::vector<AgentState>& states);
25
27 int instanceCount() const { return instanceCount_; }
28
30 const std::vector<glm::mat4>& matrices() const { return matrices_; }
31
33 const std::vector<glm::vec4>& customAttrs() const { return customAttrs_; }
34
36 const std::vector<float>& ages() const { return ages_; }
37
38private:
39 int instanceCount_ = 0;
40 std::vector<glm::mat4> matrices_;
41 std::vector<glm::vec4> customAttrs_;
42 std::vector<float> ages_;
43};
44
45} // namespace eve::gpuagents
#define EVENGINE_API_DOMAINS
Definition Export.h:110
Packs standardized AgentState into instance transforms for draw submission.
const std::vector< float > & ages() const
Per-instance ages.
int instanceCount() const
Live instance count after last sync.
const std::vector< glm::mat4 > & matrices() const
Column-major 4x4 model matrices for each live agent.
const std::vector< glm::vec4 > & customAttrs() const
Per-instance custom float4 (from AgentState::customData).