RenderPrototype.ixx File
An immutable, shared prototype of a renderable object. More...
Included Headers
#include <memory>
#include <stdexcept>
#include <string>
#include <helios.rendering.mesh.Mesh>
#include <helios.rendering.material.Material>
Namespaces Index
| namespace | helios |
| namespace | rendering |
|
Graphics rendering infrastructure. More... | |
Classes Index
| class | RenderPrototype |
|
An immutable, shared prototype of a renderable object. More... | |
Description
An immutable, shared prototype of a renderable object.
File Listing
The file content with the documentation metadata removed is:
18export namespace helios::rendering {
24 * A `RenderPrototype` bundles a specific `Mesh` (geometry) with a specific `Material` (shader and
30 * - **Immutable:** Instances are immutable once created, ensuring consistent behavior for all references.
31 * - **Shared:** Designed to be shared across multiple `Renderable` objects via `std::shared_ptr`.
32 * - **Batching Key:** Provides a stable base for per-instance overrides and efficient draw call batching.
57 class RenderPrototype final {
76 ~RenderPrototype() = default;
89 explicit RenderPrototype(
90 std::shared_ptr<const helios::rendering::material::Material> material,
91 std::shared_ptr<const helios::rendering::mesh::Mesh> mesh
93 material_(std::move(material)),
94 mesh_(std::move(mesh)) {
113 [[nodiscard]] const helios::rendering::mesh::Mesh& mesh() const noexcept {
126 [[nodiscard]] const helios::rendering::material::Material& material() const noexcept {
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.