#include <vertices_builder.h>
Classes | |
struct | AttributeProperties |
struct | ComponentProperties |
Public Types | |
enum | ComponentType { ComponentType::kSignedByte = 5120, ComponentType::kUnsignedByte, ComponentType::kSignedShort, ComponentType::kUnsignedShort, ComponentType::kSignedInt, ComponentType::kUnsignedInt, ComponentType::kFloat } |
enum | AttributeType { AttributeType::kPosition, AttributeType::kNormal, AttributeType::kTangent, AttributeType::kTextureCoords, AttributeType::kColor, AttributeType::kJoints, AttributeType::kWeights } |
using | ComponentConverter = std::function< Scalar(const void *source, size_t byte_offset, bool normalized)> |
using | AttributeWriter = std::function< void(Scalar *destination, const void *source, const ComponentProperties &component_props, const AttributeProperties &attribute_props)> |
Public Member Functions | |
VerticesBuilder () | |
virtual | ~VerticesBuilder () |
virtual void | WriteFBVertices (fb::MeshPrimitiveT &primitive) const =0 |
virtual void | SetAttributeFromBuffer (AttributeType attribute, ComponentType component_type, const void *buffer_start, size_t attribute_stride_bytes, size_t attribute_count)=0 |
Static Public Member Functions | |
static std::unique_ptr< VerticesBuilder > | MakeUnskinned () |
static std::unique_ptr< VerticesBuilder > | MakeSkinned () |
Static Protected Member Functions | |
static void | WriteAttribute (void *destination, size_t destination_stride_bytes, AttributeType attribute, ComponentType component_type, const void *source, size_t attribute_stride_bytes, size_t attribute_count) |
Definition at line 23 of file vertices_builder.h.
using impeller::scene::importer::VerticesBuilder::AttributeWriter = std::function<void(Scalar* destination, const void* source, const ComponentProperties& component_props, const AttributeProperties& attribute_props)> |
Definition at line 61 of file vertices_builder.h.
using impeller::scene::importer::VerticesBuilder::ComponentConverter = std::function< Scalar(const void* source, size_t byte_offset, bool normalized)> |
Definition at line 50 of file vertices_builder.h.
Enumerator | |
---|---|
kPosition | |
kNormal | |
kTangent | |
kTextureCoords | |
kColor | |
kJoints | |
kWeights |
Definition at line 39 of file vertices_builder.h.
Enumerator | |
---|---|
kSignedByte | |
kUnsignedByte | |
kSignedShort | |
kUnsignedShort | |
kSignedInt | |
kUnsignedInt | |
kFloat |
Definition at line 29 of file vertices_builder.h.
|
default |
|
virtualdefault |
|
static |
Definition at line 29 of file vertices_builder.cc.
Referenced by impeller::scene::importer::ProcessMeshPrimitive().
|
static |
Definition at line 25 of file vertices_builder.cc.
Referenced by impeller::scene::importer::ProcessMeshPrimitive().
|
pure virtual |
|
staticprotected |
Definition at line 140 of file vertices_builder.cc.
References impeller::scene::importer::kComponentTypes, impeller::scene::importer::VerticesBuilder::AttributeProperties::offset_bytes, and impeller::scene::importer::VerticesBuilder::AttributeProperties::write_proc.
Referenced by impeller::scene::importer::UnskinnedVerticesBuilder::SetAttributeFromBuffer(), and impeller::scene::importer::SkinnedVerticesBuilder::SetAttributeFromBuffer().
|
pure virtual |