载入中...
搜索中...
未找到
PointCompute.h
浏览该文件的文档.
1#pragma once
2
3#include "procgen/PointSet.h"
4
5#include <cstdint>
6#include <memory>
7#include <string>
8#include <vector>
9
10namespace eve::procgen {
11
14public:
16 struct Transform {
17 float x = 0.f, y = 0.f, z = 0.f;
18 float yaw = 0.f;
19 float scaleX = 1.f, scaleY = 1.f, scaleZ = 1.f;
20 };
21
24 PointCompute(const PointCompute&) = delete;
26
32 bool transform(const PointSet& input, PointSet& output, float translateX, float translateY, float translateZ,
33 float yawDegrees, float scaleX, float scaleY, float scaleZ);
34
39 bool transformChain(const PointSet& input, PointSet& output, const std::vector<Transform>& transforms);
40
42 const std::string& getError() const { return error_; }
44 uint64_t getUploadCount() const;
46 uint64_t getDispatchCount() const;
48 uint64_t getReadbackCount() const;
50 uint64_t getBufferReuseCount() const;
52 uint64_t getPeakBufferBytes() const;
54 int getLastFusedTransformCount() const;
55
56private:
57 struct Impl;
58 std::unique_ptr<Impl> impl_;
59 std::string error_;
60};
61
62} // namespace eve::procgen
float y
Definition AnimClip.cpp:738
float x
Definition AnimClip.cpp:738
float z
Definition AnimClip.cpp:738
std::string output
EvpackChunkInput input
Definition Evpack.cpp:170
#define EVENGINE_API_DOMAINS
Definition Export.h:110
Backend-neutral GPU kernels used by PointGraph with deterministic CPU fallback.
const std::string & getError() const
Return the last GPU unavailability, compilation, dispatch, or readback error.
PointCompute(const PointCompute &)=delete
PointCompute & operator=(const PointCompute &)=delete
Script-friendly collection of attributed 3D samples.
Definition PointSet.h:59
One transform operation in a fused point-compute dispatch.