Class Pipeline
Defined in File pipeline.h
Inheritance Relationships
Derived Type
public CE::Rendering::OpenGL::Pipeline(Class Pipeline)
Class Documentation
-
class Pipeline
Immutable noncopyable pipeline metadata plus a backend-owned executable implementation.
See also
Subclassed by CE::Rendering::OpenGL::Pipeline
Public Functions
-
virtual ~Pipeline()
Release the pipeline generation; retained materials/frames keep their own ownership until released.
-
inline const CE::Rendering::Pipelines::Definition &definition() const
Declaration:
[[nodiscard]]- Returns:
Borrowed immutable recipe; keep this pipeline alive while using the reference. This is CPU metadata, not a native bind.
-
void validate_draw(const CE::Rendering::Geometry::Buffer2D &geometry, std::size_t first_vertex, std::size_t vertex_count, const CE::Rendering::Pipelines::PassConstraints2D &constraints) const
Validate CPU layout/topology, range, primitive completeness and pass-state compatibility.
- Parameters:
geometry – Stable uploaded metadata borrowed for this call.
first_vertex – Zero-based first vertex.
vertex_count – Nonzero number of vertices inside the upload; triangles require multiples of three, strips at least three.
constraints – Required fixed-state choices; absent constraints impose no requirement.
- Throws:
CE::Exceptions::invalid_args – If metadata/range/state does not match. No native domain, context, program or image checks occur; inputs remain unchanged.
Protected Functions
-
explicit Pipeline(CE::Rendering::Pipelines::Definition definition)
Validate and retain an owned CPU recipe snapshot.
- Parameters:
definition – Copied/moved program-source, state, layout and public parameter contract.
- Throws:
CE::Exceptions::invalid_args – If common structural validation rejects the recipe. Native compilation/reflection belongs to the derived backend constructor.
-
virtual ~Pipeline()