载入中...
搜索中...
未找到
EditorSurfaceFluidOffscreen.cpp
浏览该文件的文档.
2
3namespace eve::editor {
4
7 if (!previews_ || !renderer_ || request.previewId.empty())
8 return eve::editing::failed<OffscreenPreviewArtifact>(
9 EditorStatus::Rejected, RuleId("editor.surface-fluid.offscreen-services"),
10 "Surface fluid offscreen preview requires identity, Canvas and renderer services");
12 if (snapshot.status != EditorStatus::Applied)
14 Status(snapshot.status, std::move(snapshot.diagnostics)));
16 offscreen.previewId = request.previewId;
17 offscreen.sourceRevision = request.documentRevision;
18 offscreen.width = request.width;
19 offscreen.height = request.height;
20 return previews_->render(offscreen,
21 [&](graphics::Graphics*, graphics::Canvas*) { return renderer_->draw(snapshot); });
22}
23
24} // namespace eve::editor
LogicalId target
const GltfImportRequest & request
Move-only operation result carrying either a value or Status.
Definition Result.h:155
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
Structured status and zero or more diagnostics for an operation.
Definition Status.h:68
virtual Result< void > draw(const SurfaceFluidPreviewSnapshot &snapshot)=0
Draw droplets and wetness using the host's chosen 2D or 3D presentation.
Result< OffscreenPreviewArtifact > render(const SurfaceFluidTarget &target, const SurfaceFluidPreviewRequest &request) const
Replay, validate and render one revision-bound scrub frame.
Rebuilds an isolated surface simulation for deterministic forward/backward scrub.
SurfaceFluidPreviewSnapshot build(const SurfaceFluidTarget &target, const SurfaceFluidPreviewRequest &request) const
Validate, replay and capture a renderer-neutral surface-fluid frame.
Reversible document for surface droplets, wet traces and material response.
Canvas public API.
Definition Canvas.h:17
Result< OffscreenPreviewArtifact > render(const OffscreenPreviewRequest &request, const DrawCallback &draw, int maximumDimension=4096, std::uint64_t maximumPixels=16777216)
Clear, draw and read back one isolated offscreen Canvas.
eve::editing::RuleId RuleId
Definition EditorIds.h:32
Complete deterministic input needed to replay a surface-fluid scrub.
Revision-bound result containing droplet geometry and per-vertex wetness.
Immutable request for one isolated Canvas render and CPU readback.