API Documentation
MeshUtils.h
1 // MeshUtils.h
3 //
5 
6 namespace nkGraphics
7 {
11  class MeshUtils final
12  {
13  public :
14 
15  // Translation
27 
28  // Filling
37  static void fillMeshFromDecodedData (DecodedMeshData& data, Mesh* mesh, const MeshFillOptions& options = MeshFillOptions()) ;
38 
39  // Computing
49  static BoundingBox computeBounds (const nkMemory::BufferView<unsigned char>& vertexBuffer, unsigned int byteStride, const MeshInputLayoutAttribute& positionAttribute, LogManager* logManager) ;
75  static void computeNormals (const AttributeGenerationInfo& inputInfo, AttributeGenerationOutput& outputInfo, LogManager* logManager) ;
101  static void computeBinormals (const AttributeGenerationInfo& inputInfo, AttributeGenerationOutput& outputInfo, LogManager* logManager) ;
127  static void computeTangents (const AttributeGenerationInfo& inputInfo, AttributeGenerationOutput& outputInfo, LogManager* logManager) ;
128  } ;
129 }
nkGraphics::MeshUtils
Offers capabilities to ease the manipulation of meshes in some contexts.
Definition: MeshUtils.h:12
nkGraphics::AttributeGenerationOutput
Describes the output of an attribute generation operation.
Definition: AttributeGenerationOutput.h:16
nkGraphics::MeshUtils::computeNormals
static void computeNormals(const AttributeGenerationInfo &inputInfo, AttributeGenerationOutput &outputInfo, LogManager *logManager)
nkGraphics::MeshInputLayoutAttribute
Describes an attribute in a mesh layout.
Definition: MeshInputLayoutAttribute.h:12
nkMemory::BufferView
A view over data.
Definition: BufferView.h:18
nkGraphics::BoundingBox
A bounding box. Often used to encompass object's bounds in the world.
Definition: BoundingBox.h:14
nkGraphics::MeshUtils::computeTangents
static void computeTangents(const AttributeGenerationInfo &inputInfo, AttributeGenerationOutput &outputInfo, LogManager *logManager)
nkGraphics::DecodedMeshData
Holds data about a decoded mesh.
Definition: DecodedMeshData.h:12
nkGraphics::LogManager
Responsible for logging all messages from the component.
Definition: LogManager.h:14
nkGraphics::MeshUtils::computeTangents
static AttributeGenerationOutput computeTangents(const AttributeGenerationInfo &inputInfo, LogManager *logManager)
nkGraphics::PackedMeshData
Holds mesh low-level data once packed by the MeshUtils.
Definition: PackedMeshData.h:12
nkGraphics::MeshUtils::computeNormals
static AttributeGenerationOutput computeNormals(const AttributeGenerationInfo &inputInfo, LogManager *logManager)
nkGraphics::MeshFillOptions
Describes how a filling operation should behave.
Definition: MeshFillOptions.h:25
nkGraphics::MeshUtils::computeBinormals
static AttributeGenerationOutput computeBinormals(const AttributeGenerationInfo &inputInfo, LogManager *logManager)
nkGraphics::VertexComposition
Describes how VertexData should be interpreted when generating low-level mesh data.
Definition: VertexComposition.h:12
nkGraphics::MeshUtils::packIntoMeshData
static PackedMeshData packIntoMeshData(const nkMemory::BufferView< VertexData > &meshInfo, const VertexComposition &composition)
nkGraphics::AttributeGenerationInfo
Holds information for an attribute generation request.
Definition: AttributeGenerationInfo.h:12
nkGraphics::MeshUtils::computeBounds
static BoundingBox computeBounds(const nkMemory::BufferView< unsigned char > &vertexBuffer, unsigned int byteStride, const MeshInputLayoutAttribute &positionAttribute, LogManager *logManager)
nkGraphics::MeshUtils::fillMeshFromDecodedData
static void fillMeshFromDecodedData(DecodedMeshData &data, Mesh *mesh, const MeshFillOptions &options=MeshFillOptions())
nkGraphics::MeshUtils::computeBinormals
static void computeBinormals(const AttributeGenerationInfo &inputInfo, AttributeGenerationOutput &outputInfo, LogManager *logManager)
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::Mesh
Holds information about a mesh. Used as a basis to render 3d models.
Definition: Mesh.h:14