LiteFX::Rendering::IBottomLevelAccelerationStructure::withTriangleMesh¶
Adds a triangle mesh to the BLAS.
Synopses¶
Declared in <litefx/rendering_api.hpp>
Adds a triangle mesh to the BLAS.
template<typename TSelf>
TSelf&& withTriangleMesh(this
TSelf&& self,
TriangleMesh const& mesh);
Adds a triangle mesh to the BLAS.
template<typename TSelf>
TSelf&& withTriangleMesh(this
TSelf&& self,
SharedPtr<IVertexBuffer const> const& vertexBuffer,
SharedPtr<IIndexBuffer const> const& indexBuffer = nullptr,
SharedPtr<IBuffer const> const& transformBuffer = nullptr,
GeometryFlags flags = GeometryFlags::None);
Exceptions¶
| Name | Thrown on |
|---|---|
RuntimeException | Thrown, if the acceleration structure already contains bounding boxes. |
Return Value¶
A reference to the current BLAS.
Parameters¶
| Name | Description |
|---|---|
| mesh | The triangle mesh to add to the BLAS. |
| vertexBuffer | The vertex buffer that stores the mesh vertices. |
| indexBuffer | The index buffer that stores the mesh indices. |
| transformBuffer | A buffer that stores a row-major 3x4 transformation matrix applied to the vertices when building the BLAS. |
| flags | The flags that control how the primitives in the geometry behaves during ray-tracing. |