4 #ifndef _3ESMESHRESOURCE_H_ 5 #define _3ESMESHRESOURCE_H_ 8 #include "3esresource.h" 10 #include "3esmatrix4.h" 27 static int estimateTransferCount(
size_t elementSize,
unsigned byteLimit,
int overhead = 0);
30 uint16_t typeId()
const override;
32 virtual Matrix4f transform()
const = 0;
33 virtual uint32_t tint()
const = 0;
37 virtual uint8_t drawType(
int stream = 0)
const = 0;
42 virtual unsigned vertexCount(
int stream = 0)
const = 0;
47 virtual unsigned indexCount(
int stream = 0)
const = 0;
55 virtual const float *vertices(
unsigned &stride,
int stream = 0)
const = 0;
64 virtual const uint8_t *indices(
unsigned &stride,
unsigned &width,
int stream = 0)
const = 0;
73 virtual const float *normals(
unsigned &stride,
int stream = 0)
const = 0;
82 virtual const float *uvs(
unsigned &stride,
int stream = 0)
const = 0;
92 virtual const uint32_t *colours(
unsigned &stride,
int stream = 0)
const = 0;
165 static unsigned writeIndices(
PacketWriter &packet, uint32_t meshId,
166 uint32_t offset,
unsigned byteLimit,
167 const uint8_t *dataSource,
unsigned dataStride,
168 unsigned indexByteWidth, uint32_t componentCount);
194 static unsigned writeVectors3(
PacketWriter &packet, uint32_t meshId,
195 uint32_t offset,
unsigned byteLimit,
196 const uint8_t *dataSource,
unsigned dataStride,
197 uint32_t componentCount);
211 static unsigned writeVectors2(
PacketWriter &packet, uint32_t meshId,
212 uint32_t offset,
unsigned byteLimit,
213 const uint8_t *dataSource,
unsigned dataStride,
214 uint32_t componentCount);
235 static unsigned writeColours(
PacketWriter &packet, uint32_t meshId,
236 uint32_t offset,
unsigned byteLimit,
237 const uint8_t *dataSource,
unsigned dataStride,
238 uint32_t componentCount);
245 #endif // _3ESMESHRESOURCE_H_ virtual ~MeshResource()
Virtual destructor.
Definition: 3esmeshresource.h:20
A row major 4x4 transformation matrix.
Definition: 3esmatrix4.h:27
Definition: 3esbounds.h:13
A structure tracking progress of a data transfer.
Definition: 3estransferprogress.h:18
The Resource base class defines an interface for any resource used by Shape objects such as MeshSet...
Definition: 3esresource.h:34
Represents a mesh part or object.
Definition: 3esmeshresource.h:16
A utility class for writing payload data to a PacketHeader.
Definition: 3espacketwriter.h:34