载入中...
搜索中...
未找到
DynamicMeshUvPaintSession.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Result.h"
5#include "procgen/MeshBuild.h"
6
7#include <cstdint>
8#include <memory>
9
10namespace eve::image { class ImageData; }
11
12namespace eve::procgen {
20public:
22 [[nodiscard]] Result<void> initializeResult(const MeshBuild& mesh, const image::ImageData& image);
24 [[nodiscard]] Result<void> updateMeshResult(const MeshBuild& mesh);
26 [[nodiscard]] Result<void> paintSurfacePointResult(int triangleIndex, float x, float y, float z,
27 float radiusPixels, float r, float g, float b, float a,
28 bool wrapU = false, bool wrapV = false);
30 [[nodiscard]] Result<std::unique_ptr<image::ImageData>> currentImageResult() const;
32 [[nodiscard]] Result<void> undoResult();
33 std::uint64_t meshRevision() const noexcept { return meshRevision_; }
35 std::uint64_t paintRevision() const noexcept { return paint_.revision(); }
36private:
37 MeshBuild mesh_;
39 std::uint64_t meshRevision_ = 0;
40 bool initialized_ = false;
41};
42} // namespace eve::procgen
float y
Definition AnimClip.cpp:738
float x
Definition AnimClip.cpp:738
float z
Definition AnimClip.cpp:738
#define EVENGINE_API_DOMAINS
Definition Export.h:110
tensor::Graph g
Definition GpuGraph.cpp:7
vk::UniqueImage image
double r
MeleePoint3 b
Definition MeleeHit.cpp:41
MeleePoint3 a
Definition MeleeHit.cpp:40
Mesh * mesh
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Represents raw pixel data.
Definition ImageData.h:38
Transactional, renderer-independent UV texture painting session.
Integrates dynamic-mesh hit mapping with the canonical image UV-paint session.
std::uint64_t paintRevision() const noexcept
Paint revision.
CPU triangle mesh from procedural mesh recipes (e.g. marching cubes). Positions/normals are xyz-packe...
Definition MeshBuild.h:19