#include <vertices_builder.h>
|
enum class | ComponentType {
kSignedByte = 5120
, kUnsignedByte
, kSignedShort
, kUnsignedShort
,
kSignedInt
, kUnsignedInt
, kFloat
} |
|
enum class | AttributeType {
kPosition
, kNormal
, kTangent
, kTextureCoords
,
kColor
, kJoints
, 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)> |
|
◆ AttributeWriter
◆ ComponentConverter
◆ AttributeType
Enumerator |
---|
kPosition | |
kNormal | |
kTangent | |
kTextureCoords | |
kColor | |
kJoints | |
kWeights | |
Definition at line 38 of file vertices_builder.h.
38 {
39 kPosition,
41 kTangent,
42 kTextureCoords,
44 kJoints,
45 kWeights,
46 };
@ kNormal
Default priority level.
@ kColor
hue and saturation of source with luminosity of destination
◆ ComponentType
Enumerator |
---|
kSignedByte | |
kUnsignedByte | |
kSignedShort | |
kUnsignedShort | |
kSignedInt | |
kUnsignedInt | |
kFloat | |
Definition at line 28 of file vertices_builder.h.
◆ VerticesBuilder()
impeller::scene::importer::VerticesBuilder::VerticesBuilder |
( |
| ) |
|
|
default |
◆ ~VerticesBuilder()
impeller::scene::importer::VerticesBuilder::~VerticesBuilder |
( |
| ) |
|
|
virtualdefault |
◆ MakeSkinned()
std::unique_ptr< VerticesBuilder > impeller::scene::importer::VerticesBuilder::MakeSkinned |
( |
| ) |
|
|
static |
Definition at line 29 of file vertices_builder.cc.
29 {
30 return std::make_unique<SkinnedVerticesBuilder>();
31}
◆ MakeUnskinned()
std::unique_ptr< VerticesBuilder > impeller::scene::importer::VerticesBuilder::MakeUnskinned |
( |
| ) |
|
|
static |
◆ SetAttributeFromBuffer()
virtual void impeller::scene::importer::VerticesBuilder::SetAttributeFromBuffer |
( |
AttributeType |
attribute, |
|
|
ComponentType |
component_type, |
|
|
const void * |
buffer_start, |
|
|
size_t |
attribute_stride_bytes, |
|
|
size_t |
attribute_count |
|
) |
| |
|
pure virtual |
◆ WriteAttribute()
void impeller::scene::importer::VerticesBuilder::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 |
|
) |
| |
|
staticprotected |
Definition at line 140 of file vertices_builder.cc.
146 {
147 const ComponentProperties& component_props =
kComponentTypes[component_type];
148 const AttributeProperties& attribute_props = kAttributeTypes[attribute];
149 for (
size_t i = 0;
i < attribute_count;
i++) {
151 reinterpret_cast<const uint8_t*
>(
source) + attribute_stride_bytes *
i;
152 uint8_t*
dst =
reinterpret_cast<uint8_t*
>(destination) +
153 i * destination_stride_bytes + attribute_props.offset_bytes;
154
155 attribute_props.write_proc(
reinterpret_cast<Scalar*
>(
dst),
src,
156 component_props, attribute_props);
157 }
158}
static std::map< VerticesBuilder::ComponentType, VerticesBuilder::ComponentProperties > kComponentTypes
◆ WriteFBVertices()
virtual void impeller::scene::importer::VerticesBuilder::WriteFBVertices |
( |
fb::MeshPrimitiveT & |
primitive | ) |
const |
|
pure virtual |
The documentation for this class was generated from the following files: