Kanzi 4.1.0
mesh_create_info.hpp File Reference

Classes

struct  kanzi::Mesh::CreateInfo::Adjustment
 Describes a single adjustment made by adjustForDeviceCapabilities(). More...
 
struct  kanzi::Mesh::CreateInfo::AdjustmentKey
 Named keys for Adjustment parameter maps. More...
 
struct  kanzi::Mesh::CreateInfo::Cluster
 Parameters for Mesh::Cluster creation. More...
 
struct  kanzi::Mesh::CreateInfo
 Use Mesh::CreateInfo to describe and create meshes. More...
 
struct  kanzi::Mesh::CreateInfo::MorphData
 Morph data associated with deforming this mesh. More...
 
struct  kanzi::Mesh::CreateInfo::MorphData::MorphShape
 Morph shape. More...
 

Namespaces

namespace  kanzi
 

Functions

void kanzi::acquireResources (Domain *domain, Mesh::CreateInfo &createInfo)
 For each cluster in mesh create info, load material from materialURL, if set.
 
vector< Mesh::CreateInfo::Adjustmentkanzi::adjustForDeviceCapabilities (Mesh::CreateInfo &createInfo, string_view name)
 Adjusts mesh creation parameters for the current device's capabilities.
 
Box kanzi::calculateBoundingVolume (const Mesh::CreateInfo &createInfo)
 Calculates bounding box from mesh vertex data.
 
ResourceManager::UrlContainer kanzi::collectResourceUrls (const Mesh::CreateInfo &createInfo)
 For each cluster in mesh create info, get material URL, if set.
 
Mesh::CreateInfo kanzi::generateBox (Vector3 size, size_t subdivisions, bool useHalfFloat, bool generateNormals, bool generateTangents, bool insideOut, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for a box primitive mesh.
 
Mesh::CreateInfo kanzi::generateBox (Vector3 size, size_t subdivisions, bool useHalfFloat, bool generateNormals, bool generateTangents, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for a box primitive mesh.
 
Mesh::CreateInfo kanzi::generateCone (float bottomRadius, unsigned int bottomSegmentCount, float height, bool useHalfFloat, bool generateNormals, bool generateTangents, bool insideOut, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for a UV cone primitive mesh.
 
Mesh::CreateInfo kanzi::generateCone (float bottomRadius, unsigned int bottomSegmentCount, float height, bool useHalfFloat, bool generateNormals, bool generateTangents, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for a UV cone primitive mesh.
 
Mesh::CreateInfo kanzi::generateIcosphere (float radius, size_t subdivisions, bool useHalfFloat, bool generateNormals, bool generateTangents, bool insideOut, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for an icosphere primitive mesh.
 
Mesh::CreateInfo kanzi::generateIcosphere (float radius, size_t subdivisions, bool useHalfFloat, bool generateNormals, bool generateTangents, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for an icosphere primitive mesh.
 
Mesh::CreateInfo kanzi::generatePlane (float width, float height, size_t subdivisions, bool invertU, bool invertV, bool useHalfFloat, bool generateNormals, bool generateTangents, bool insideOut, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for a plane primitive mesh.
 
Mesh::CreateInfo kanzi::generatePlane (float width, float height, size_t subdivisions, bool invertU, bool invertV, bool useHalfFloat, bool generateNormals, bool generateTangents, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for a plane primitive mesh.
 
Mesh::CreateInfo kanzi::generateQuadsphere (float radius, size_t subdivisions, bool useHalfFloat, bool generateNormals, bool generateTangents, bool insideOut, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for a quad sphere primitive mesh.
 
Mesh::CreateInfo kanzi::generateQuadsphere (float radius, size_t subdivisions, bool useHalfFloat, bool generateNormals, bool generateTangents, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for a quad sphere primitive mesh.
 
Mesh::CreateInfo kanzi::generateSphere (float radius, size_t segmentCount, size_t rowCount, bool useHalfFloat, bool generateNormals, bool generateTangents, bool insideOut, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for a UV sphere primitive mesh.
 
Mesh::CreateInfo kanzi::generateSphere (float radius, size_t segmentCount, size_t rowCount, bool useHalfFloat, bool generateNormals, bool generateTangents, MaterialSharedPtr material, string_view materialURL, GPUResource::MemoryType memoryType)
 Makes mesh create info for a UV sphere primitive mesh.
 
string kanzi::getVerboseDescription (Mesh::CreateInfo::Status status, const Mesh::CreateInfo &createInfo)
 Returns a human-readable description for a mesh create info validation status.
 
string kanzi::getVerboseDescription (span< const Mesh::CreateInfo::Adjustment > adjustments)
 Returns a human-readable description of a set of mesh adjustments.
 
Mesh::CreateInfo kanzi::loadMeshCreateInfo (Domain *domain, KzbFile &kzbFile, ReadOnlyMemoryFile &file, KzbMemoryParser &parser)
 Loads mesh create info from KZB.
 
float kanzi::readVertexAttributeComponent (const Mesh::CreateInfo &createInfo, size_t vertexIndex, size_t attributeIndex, size_t component)
 Reads one attribute component of given vertex from mesh create info.
 
float kanzi::readVertexAttributeFloat (const Mesh::CreateInfo &createInfo, size_t vertexIndex, size_t attributeIndex)
 Reads float attribute of given vertex from mesh.
 
Vector2 kanzi::readVertexAttributeVector2 (const Mesh::CreateInfo &createInfo, size_t vertexIndex, size_t attributeIndex)
 Reads Vector2 attribute of given vertex from mesh.
 
Vector3 kanzi::readVertexAttributeVector3 (const Mesh::CreateInfo &createInfo, size_t vertexIndex, size_t attributeIndex)
 Reads Vector3 attribute of given vertex from mesh.
 
Vector4 kanzi::readVertexAttributeVector4 (const Mesh::CreateInfo &createInfo, size_t vertexIndex, size_t attributeIndex)
 Reads Vector4 attribute of given vertex from mesh.
 
Mesh::CreateInfo::Status kanzi::validateCreateInfo (const Mesh::CreateInfo &createInfo)
 Validates mesh create info.
 
void kanzi::writeVertexAttribute (Mesh::CreateInfo &createInfo, size_t vertexIndex, size_t attributeIndex, float v)
 Writes one float attribute value to vertex data.
 
void kanzi::writeVertexAttribute (Mesh::CreateInfo &createInfo, size_t vertexIndex, size_t attributeIndex, Vector2 v)
 Writes one Vector2 attribute value to vertex data.
 
void kanzi::writeVertexAttribute (Mesh::CreateInfo &createInfo, size_t vertexIndex, size_t attributeIndex, Vector3 v)
 Writes one Vector3 attribute value to vertex data.
 
void kanzi::writeVertexAttribute (Mesh::CreateInfo &createInfo, size_t vertexIndex, size_t attributeIndex, Vector4 v)
 Writes one Vector3 attribute value to vertex data.