Castor3D 0.16.0
Multiplatform 3D engine
|
#include <TriFaceMapping.hpp>
Classes | |
struct | ComponentData |
class | Plugin |
Public Member Functions | |
C3D_API | TriFaceMapping (Submesh &submesh, VkBufferUsageFlags bufferUsageFlags={}) |
Constructor. | |
C3D_API void | computeFacesFromPolygonVertex () |
Creates faces from the points. | |
C3D_API void | computeNormals (castor::Point3fArray const &positions, castor::Point3fArray &normals, bool reverted=false) const |
Computes normal for each vertex of the given face. | |
C3D_API void | computeTangentsFromNormals (castor::Point3fArray const &positions, castor::Point3fArray const &texcoords, castor::Point3fArray const &normals, castor::Point4fArray &tangents) const |
Computes tangent for each vertex of the submesh. | |
C3D_API uint32_t | getCount () const override |
C3D_API uint32_t | getComponentsCount () const override |
C3D_API void | computeNormals (bool reverted=false) override |
Generates normals. | |
C3D_API void | computeTangents () override |
Generates tangents. | |
C3D_API SubmeshComponentUPtr | clone (Submesh &submesh) const override |
Clones this component into given submesh. | |
ComponentData & | getData () const noexcept |
Public Member Functions inherited from castor3d::IndexMapping | |
C3D_API | IndexMapping (Submesh &submesh, castor::String const &type, SubmeshComponentDataUPtr data) |
Constructor. | |
Public Member Functions inherited from castor3d::SubmeshComponent | |
C3D_API | SubmeshComponent (Submesh &submesh, castor::String const &type, SubmeshComponentDataUPtr data={}, castor::StringArray deps={}) |
Constructor. | |
virtual C3D_API | ~SubmeshComponent () noexcept=default |
Destructor. | |
virtual C3D_API bool | writeText (castor::String const &tabs, castor::Path const &folder, castor::String const &subfolder, castor::StringStream &file) const |
Writes the component content to text. | |
virtual C3D_API void | accept (ConfigurationVisitorBase &vis) |
ConfigurationVisitorBase acceptance function. | |
virtual C3D_API SubmeshComponentFlag | getSubmeshFlags () const noexcept |
virtual C3D_API ProgramFlags | getProgramFlags (Pass const &pass) const noexcept |
C3D_API void | initialiseRenderData () |
Initialises the render data specific for this component's submesh. | |
castor::String const & | getType () const noexcept |
castor::StringArray const & | getDependencies () const noexcept |
SubmeshComponentPlugin const & | getPlugin () const noexcept |
SubmeshComponentID | getId () const noexcept |
SubmeshComponentDataRPtr | getBaseData () const noexcept |
SubmeshRenderData * | getRenderData () const noexcept |
template<typename DataT > | |
DataT * | getDataT () const noexcept |
template<typename DataT > | |
DataT * | getRenderDataT () const noexcept |
Public Member Functions inherited from castor::OwnedBy< Submesh > | |
Submesh * | getOwner () const |
Static Public Member Functions | |
static SubmeshComponentPluginUPtr | createPlugin (SubmeshComponentRegister const &submeshComponents) |
Static Public Attributes | |
static C3D_API castor::String const | TypeName |
Additional Inherited Members | |
Protected Member Functions inherited from castor::OwnedBy< Submesh > | |
OwnedBy (Submesh &owner) | |
Constructor. | |
Protected Attributes inherited from castor3d::SubmeshComponent | |
SubmeshComponentDataUPtr | m_data |
SubmeshRenderDataPtr | m_renderData |
|
explicit |
Constructor.
[in] | submesh | The parent submesh. |
[in] | bufferUsageFlags | The buffer usage flags. |
|
overridevirtual |
Clones this component into given submesh.
[in,out] | submesh | Receives the cloned component. |
Implements castor3d::SubmeshComponent.
C3D_API void castor3d::TriFaceMapping::computeFacesFromPolygonVertex | ( | ) |
Creates faces from the points.
|
overridevirtual |
Generates normals.
[in] | reverted | Tells if normals are inverted. |
Implements castor3d::IndexMapping.
C3D_API void castor3d::TriFaceMapping::computeNormals | ( | castor::Point3fArray const & | positions, |
castor::Point3fArray & | normals, | ||
bool | reverted = false ) const |
Computes normal for each vertex of the given face.
[in] | positions | The vertices positions. |
[out] | normals | The vertices normals. |
[in] | reverted | true to invert normals. |
|
overridevirtual |
Generates tangents.
Implements castor3d::IndexMapping.
C3D_API void castor3d::TriFaceMapping::computeTangentsFromNormals | ( | castor::Point3fArray const & | positions, |
castor::Point3fArray const & | texcoords, | ||
castor::Point3fArray const & | normals, | ||
castor::Point4fArray & | tangents ) const |
Computes tangent for each vertex of the submesh.
[in] | positions | The vertices positions. |
[in] | texcoords | The vertices texture coordinates. |
[in] | normals | The vertices normals. |
[out] | tangents | The vertices tangents. |
|
inlinestatic |
|
overridevirtual |
Implements castor3d::IndexMapping.
|
overridevirtual |
Implements castor3d::IndexMapping.
|
inlinenoexcept |
|
static |