Skip to main content

RenderPrototypeComponent.ixx File

Groups mesh, shader, and material handles into one render prototype. More...

Included Headers

Namespaces Index

namespacehelios
namespaceengine
namespacerendering
namespacecommon
namespacecomponents

Classes Index

classRenderPrototypeComponent<TOwnerHandle>

Component that stores the resource handles needed for rendering. More...

Description

Groups mesh, shader, and material handles into one render prototype.

File Listing

The file content with the documentation metadata removed is:

1
5module;
6
7export module helios.engine.rendering.common.components.RenderPrototypeComponent;
8
9import helios.engine.rendering.mesh;
10import helios.engine.rendering.shader;
11import helios.engine.rendering.material;
12
13
21
27 template<typename TOwnerHandle>
29
30 ShaderHandle shaderHandle_;
31
32 MaterialHandle materialHandle_;
33
34 MeshHandle meshHandle_;
35
36 public:
37
49 )
50 : shaderHandle_(shaderHandle),
51 materialHandle_(materialHandle),
52 meshHandle_(meshHandle) {}
53
62 const ShaderEntity shader,
63 const MaterialEntity material,
64 const MeshEntity mesh
65 )
66 : shaderHandle_(shader.handle()),
67 materialHandle_(material.handle()),
68 meshHandle_(mesh.handle()) {}
69
76 return meshHandle_;
77 }
78
85 return shaderHandle_;
86 }
87
94 return materialHandle_;
95 }
96
102 void setMeshHandle(const MeshHandle meshHandle) noexcept {
103 meshHandle_ = meshHandle;
104 }
105
112 shaderHandle_ = shaderHandle;
113 }
114
121 materialHandle_ = materialHandle;
122 }
123
124 };
125}

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.