Class PassWriter
Defined in File render-frame.h
Class Documentation
-
class PassWriter
Declaration:
finalA short-lived handle to one pass.
Its index stays valid if adding another pass grows the frame’s outer vector. Use it only while the frame is being prepared. No writer operation synchronizes or publishes a slot to another thread.
Public Functions
-
inline void reserve_draws(std::size_t count)
Reserve packet capacity for this active preparation pass.
- Parameters:
count – Desired vector capacity, measured in packets. Allocation/length failures propagate without changing existing draws; no frame publication occurs.
-
inline ::CE::Rendering::Parameters::PassSemantics semantics() const
Declaration:
[[nodiscard]]- Returns:
Independent copy of this pass’s projection/view matrices for CPU packet resolution.
-
inline const ::CE::Rendering::Parameters::Set ¶meters() const
Declaration:
[[nodiscard]]- Returns:
Borrowed custom pass values. Outer-vector growth or recycling invalidates the reference; keep the writer in its preparation phase.
-
inline const ::CE::Rendering::Pipelines::PassConstraints2D &constraints() const
Declaration:
[[nodiscard]]- Returns:
Borrowed pass requirements, invalidated by outer-vector growth/recycling; no state override or synchronization occurs.
-
inline void add(::CE::Rendering::DrawPacket2D draw)
Validate and append one owned packet in authored order.
- Parameters:
draw – Resolved values retaining resources required for later playback. Assigns authored_order from the current draw count. Validation/allocation failures leave existing draws intact; no backend calls or cross-thread publication occur.
-
inline void add(std::vector<::CE::Rendering::DrawPacket2D> draws)
Validate an entire group before appending any packets in its existing order.
- Parameters:
draws – Owned glyph/asset packet group. Validation/storage-limit/allocation failures leave prior draws intact. Appended packets receive consecutive authored_order values; empty groups do nothing. No backend call/publication occurs.
Friends
- friend class ::CE::Rendering::FrameWriter
-
inline void reserve_draws(std::size_t count)