载入中...
搜索中...
未找到
MeshVfxBatchSubmission.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
6
7#include <cstdint>
8
9namespace eve::stylize {
10
12enum class MeshVfxSubmitStatus : std::uint8_t {
14 Skipped,
15 Failed,
17};
18
20enum class MeshVfxQueueSubmitStatus : std::uint8_t {
22 Partial,
23 Failed,
25};
26
30 std::uint32_t acceptedBatches = 0;
31 std::uint32_t skippedBatches = 0;
32 std::uint32_t acceptedDraws = 0;
33 std::uint32_t skippedDraws = 0;
34 std::uint32_t failedDraws = 0;
35};
36
45public:
47 virtual ~IMeshVfxBatchSink() = default;
48
55
62
68};
69
72public:
79 [[nodiscard]] MeshVfxSubmissionReport submit(const MeshVfxRenderQueue& queue, IMeshVfxBatchSink& sink) const;
80};
81
82} // namespace eve::stylize
#define EVENGINE_API_WORLD
Definition Export.h:109
std::uint32_t key
MeshVfxBatchedDraw draw
Immediate graphics-backend contract for a mesh VFX render queue.
virtual MeshVfxSubmitStatus endBatch()=0
Ends the active batch and flushes backend-local state if needed.
virtual MeshVfxSubmitStatus submitDraw(const MeshVfxBatchedDraw &draw)=0
Submits one ordered instance in the active batch.
virtual ~IMeshVfxBatchSink()=default
Releases IMeshVfxBatchSink resources.
virtual MeshVfxSubmitStatus beginBatch(const MeshVfxBatchKey &key)=0
Begins a consecutive group sharing immutable GPU state.
Executes a planned render queue against one immediate backend sink.
MeshVfxSubmitStatus
Result of one synchronous backend submission operation.
MeshVfxQueueSubmitStatus
Aggregate completion state for one render queue submission.
Immutable GPU-state identity used to combine compatible draw items.
One ordered draw reference inside a render batch.
Complete deterministic queue consumed by a graphics backend.
Counters and terminal state produced by queue execution.