Class FrameWriter

Class Documentation

class FrameWriter

Declaration: final

Writes into a free slot after update().

Camera matrices are copied once per pass; draw packets are constructed in the slot’s retained vector storage. Caller excludes other writers/readers and retains the frame. Construction rejects unrecycled active passes. Destruction does not publish or roll back; a preparation failure requires recycling the partial frame before reuse.

Public Functions

inline explicit FrameWriter(::CE::Rendering::Frame &frame)
inline void reserve_passes(std::size_t count)
inline ::CE::Rendering::PassWriter begin_pass(const glm::mat4 &projection, const glm::mat4 &view, ::CE::Rendering::Pipelines::PassConstraints2D constraints = ::CE::Rendering::Pipelines::PassConstraints2D{}, ::CE::Rendering::Parameters::Set parameters = ::CE::Rendering::Parameters::Set{})

Declaration: [[nodiscard]]

Append an active pass in authored order, copying matrices and owning values.

Keep the returned writer within this preparation phase, before recycling or publication. No backend calls or cross-thread publication occur here.

Parameters:
  • projection – Projection matrix copied into pass semantics.

  • view – View matrix copied into pass semantics.

  • constraints – Pass requirements used to validate submitted packets.

  • parameters – Owned pass parameter values.

Returns:

Writer borrowing this frame’s new pass.