![]() |
raylib-cpp
C++ object-oriented wrapper library for raylib.
|
Vertex data defining a mesh, not managed by C++ RAII. More...
#include <MeshUnmanaged.hpp>
Public Member Functions | |
MeshUnmanaged () | |
Default texture constructor. More... | |
MeshUnmanaged (::Mesh &&mesh) | |
MeshUnmanaged (const ::Mesh &mesh) | |
raylib::BoundingBox | BoundingBox () const |
Compute mesh bounding box limits. More... | |
void | Draw (const ::Material &material, ::Matrix *transforms, int instances) const |
Draw multiple mesh instances with material and different transforms. More... | |
void | Draw (const ::Material &material, const ::Matrix &transform) const |
Draw a 3d mesh with material and transform. More... | |
void | Export (std::string_view fileName) |
Export mesh data to file. More... | |
Mesh & | GenTangents () |
Compute mesh tangents. More... | |
float * | GetAnimNormals () const |
Retrieves the animNormals value for the object. More... | |
float * | GetAnimVertices () const |
Retrieves the animVertices value for the object. More... | |
unsigned char * | GetBoneIds () const |
Retrieves the boneIds value for the object. More... | |
float * | GetBoneWeights () const |
Retrieves the boneWeights value for the object. More... | |
unsigned char * | GetColors () const |
Retrieves the colors value for the object. More... | |
unsigned short * | GetIndices () const |
Retrieves the indices value for the object. More... | |
float * | GetNormals () const |
Retrieves the normals value for the object. More... | |
float * | GetTangents () const |
Retrieves the tangents value for the object. More... | |
float * | GetTexCoords () const |
Retrieves the texcoords value for the object. More... | |
float * | GetTexCoords2 () const |
Retrieves the texcoords2 value for the object. More... | |
raylib::BoundingBox | GetTransformedBoundingBox (::Matrix transform) const |
Compute mesh bounding box limits with respect to the given transformation. More... | |
int | GetTriangleCount () const |
Retrieves the triangleCount value for the object. More... | |
unsigned int | GetVaoId () const |
Retrieves the vaoId value for the object. More... | |
unsigned int * | GetVboId () const |
Retrieves the vboId value for the object. More... | |
int | GetVertexCount () const |
Retrieves the vertexCount value for the object. More... | |
float * | GetVertices () const |
Retrieves the vertices value for the object. More... | |
raylib::Model | LoadModelFrom () const |
Load model from generated mesh. More... | |
operator raylib::BoundingBox () | |
Compute mesh bounding box limits. More... | |
operator raylib::Model () | |
Load model from generated mesh. More... | |
MeshUnmanaged & | operator= (const ::Mesh &mesh) |
void | SetAnimNormals (float *value) |
Sets the animNormals value for the object. More... | |
void | SetAnimVertices (float *value) |
Sets the animVertices value for the object. More... | |
void | SetBoneIds (unsigned char *value) |
Sets the boneIds value for the object. More... | |
void | SetBoneWeights (float *value) |
Sets the boneWeights value for the object. More... | |
void | SetColors (unsigned char *value) |
Sets the colors value for the object. More... | |
void | SetIndices (unsigned short *value) |
Sets the indices value for the object. More... | |
void | SetNormals (float *value) |
Sets the normals value for the object. More... | |
void | SetTangents (float *value) |
Sets the tangents value for the object. More... | |
void | SetTexCoords (float *value) |
Sets the texcoords value for the object. More... | |
void | SetTexCoords2 (float *value) |
Sets the texcoords2 value for the object. More... | |
void | SetTriangleCount (int value) |
Sets the triangleCount value for the object. More... | |
void | SetVaoId (unsigned int value) |
Sets the vaoId value for the object. More... | |
void | SetVboId (unsigned int *value) |
Sets the vboId value for the object. More... | |
void | SetVertexCount (int value) |
Sets the vertexCount value for the object. More... | |
void | SetVertices (float *value) |
Sets the vertices value for the object. More... | |
void | Unload () |
Unload mesh from memory (RAM and/or VRAM) More... | |
void | UpdateBuffer (int index, void *data, int dataSize, int offset=0) |
Upload mesh vertex data to GPU (VRAM) More... | |
void | Upload (bool dynamic=false) |
Upload mesh vertex data to GPU (VRAM) More... | |
Static Public Member Functions | |
static MeshUnmanaged | Cone (float radius, float height, int slices) |
Generate cone/pyramid mesh. More... | |
static MeshUnmanaged | Cube (float width, float height, float length) |
Generate cuboid mesh. More... | |
static MeshUnmanaged | Cubicmap (const ::Image &cubicmap, ::Vector3 cubeSize) |
Generate cubes-based map mesh from image data. More... | |
static MeshUnmanaged | Cylinder (float radius, float height, int slices) |
Generate cylinder mesh. More... | |
static MeshUnmanaged | Heightmap (const ::Image &heightmap, ::Vector3 size) |
Generate heightmap mesh from image data. More... | |
static MeshUnmanaged | HemiSphere (float radius, int rings, int slices) |
Generate half-sphere mesh (no bottom cap) More... | |
static MeshUnmanaged | Knot (float radius, float size, int radSeg, int sides) |
Generate trefoil knot mesh. More... | |
static MeshUnmanaged | Plane (float width, float length, int resX, int resZ) |
Generate plane mesh (with subdivisions) More... | |
static MeshUnmanaged | Plane (float width, float length, int resX, int resZ, float textureScale) |
static MeshUnmanaged | Poly (int sides, float radius) |
Load meshes from model file. More... | |
static MeshUnmanaged | Sphere (float radius, int rings, int slices) |
Generate sphere mesh (standard sphere) More... | |
static MeshUnmanaged | Torus (float radius, float size, int radSeg, int sides) |
Generate torus mesh. More... | |
Protected Member Functions | |
void | set (const ::Mesh &mesh) |
Vertex data defining a mesh, not managed by C++ RAII.
Make sure to Unload() this if needed, otherwise use raylib::Mesh.
Definition at line 21 of file MeshUnmanaged.hpp.
|
inline |
Default texture constructor.
Definition at line 26 of file MeshUnmanaged.hpp.
|
inline |
Definition at line 44 of file MeshUnmanaged.hpp.
|
inline |
Definition at line 48 of file MeshUnmanaged.hpp.
|
inline |
Compute mesh bounding box limits.
Definition at line 309 of file MeshUnmanaged.hpp.
Referenced by operator raylib::BoundingBox().
|
inlinestatic |
Generate cone/pyramid mesh.
Definition at line 204 of file MeshUnmanaged.hpp.
|
inlinestatic |
Generate cuboid mesh.
Definition at line 176 of file MeshUnmanaged.hpp.
|
inlinestatic |
Generate cubes-based map mesh from image data.
Definition at line 232 of file MeshUnmanaged.hpp.
|
inlinestatic |
Generate cylinder mesh.
Definition at line 197 of file MeshUnmanaged.hpp.
|
inline |
Draw multiple mesh instances with material and different transforms.
Definition at line 291 of file MeshUnmanaged.hpp.
|
inline |
Draw a 3d mesh with material and transform.
Definition at line 284 of file MeshUnmanaged.hpp.
|
inline |
Export mesh data to file.
raylib::RaylibException | Throws if failed to export the Mesh. |
Definition at line 300 of file MeshUnmanaged.hpp.
|
inline |
Compute mesh tangents.
Definition at line 351 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the animNormals value for the object.
Definition at line 246 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the animVertices value for the object.
Definition at line 245 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the boneIds value for the object.
Definition at line 247 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the boneWeights value for the object.
Definition at line 248 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the colors value for the object.
Definition at line 243 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the indices value for the object.
Definition at line 244 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the normals value for the object.
Definition at line 241 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the tangents value for the object.
Definition at line 242 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the texcoords value for the object.
Definition at line 239 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the texcoords2 value for the object.
Definition at line 240 of file MeshUnmanaged.hpp.
|
inline |
Compute mesh bounding box limits with respect to the given transformation.
Definition at line 323 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the triangleCount value for the object.
Definition at line 237 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the vaoId value for the object.
Definition at line 249 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the vboId value for the object.
Definition at line 250 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the vertexCount value for the object.
Definition at line 236 of file MeshUnmanaged.hpp.
|
inline |
Retrieves the vertices value for the object.
Definition at line 238 of file MeshUnmanaged.hpp.
|
inlinestatic |
Generate heightmap mesh from image data.
Definition at line 225 of file MeshUnmanaged.hpp.
|
inlinestatic |
Generate half-sphere mesh (no bottom cap)
Definition at line 190 of file MeshUnmanaged.hpp.
|
inlinestatic |
Generate trefoil knot mesh.
Definition at line 218 of file MeshUnmanaged.hpp.
|
inline |
Load model from generated mesh.
Definition at line 359 of file MeshUnmanaged.hpp.
|
inline |
Compute mesh bounding box limits.
Definition at line 316 of file MeshUnmanaged.hpp.
References BoundingBox().
|
inline |
Load model from generated mesh.
Definition at line 366 of file MeshUnmanaged.hpp.
|
inline |
Definition at line 252 of file MeshUnmanaged.hpp.
|
inlinestatic |
Generate plane mesh (with subdivisions)
Definition at line 71 of file MeshUnmanaged.hpp.
|
inlinestatic |
Definition at line 75 of file MeshUnmanaged.hpp.
|
inlinestatic |
Load meshes from model file.
Generate polygonal mesh
Definition at line 64 of file MeshUnmanaged.hpp.
|
inlineprotected |
Definition at line 371 of file MeshUnmanaged.hpp.
|
inline |
Sets the animNormals value for the object.
value | The value of which to set animNormals to. |
Definition at line 246 of file MeshUnmanaged.hpp.
|
inline |
Sets the animVertices value for the object.
value | The value of which to set animVertices to. |
Definition at line 245 of file MeshUnmanaged.hpp.
|
inline |
Sets the boneIds value for the object.
value | The value of which to set boneIds to. |
Definition at line 247 of file MeshUnmanaged.hpp.
|
inline |
Sets the boneWeights value for the object.
value | The value of which to set boneWeights to. |
Definition at line 248 of file MeshUnmanaged.hpp.
|
inline |
Sets the colors value for the object.
value | The value of which to set colors to. |
Definition at line 243 of file MeshUnmanaged.hpp.
|
inline |
Sets the indices value for the object.
value | The value of which to set indices to. |
Definition at line 244 of file MeshUnmanaged.hpp.
|
inline |
Sets the normals value for the object.
value | The value of which to set normals to. |
Definition at line 241 of file MeshUnmanaged.hpp.
|
inline |
Sets the tangents value for the object.
value | The value of which to set tangents to. |
Definition at line 242 of file MeshUnmanaged.hpp.
|
inline |
Sets the texcoords value for the object.
value | The value of which to set texcoords to. |
Definition at line 239 of file MeshUnmanaged.hpp.
|
inline |
Sets the texcoords2 value for the object.
value | The value of which to set texcoords2 to. |
Definition at line 240 of file MeshUnmanaged.hpp.
|
inline |
Sets the triangleCount value for the object.
value | The value of which to set triangleCount to. |
Definition at line 237 of file MeshUnmanaged.hpp.
|
inline |
Sets the vaoId value for the object.
value | The value of which to set vaoId to. |
Definition at line 249 of file MeshUnmanaged.hpp.
|
inline |
Sets the vboId value for the object.
value | The value of which to set vboId to. |
Definition at line 250 of file MeshUnmanaged.hpp.
|
inline |
Sets the vertexCount value for the object.
value | The value of which to set vertexCount to. |
Definition at line 236 of file MeshUnmanaged.hpp.
|
inline |
Sets the vertices value for the object.
value | The value of which to set vertices to. |
Definition at line 238 of file MeshUnmanaged.hpp.
|
inlinestatic |
Generate sphere mesh (standard sphere)
Definition at line 183 of file MeshUnmanaged.hpp.
|
inlinestatic |
Generate torus mesh.
Definition at line 211 of file MeshUnmanaged.hpp.
|
inline |
Unload mesh from memory (RAM and/or VRAM)
Definition at line 260 of file MeshUnmanaged.hpp.
|
inline |
Upload mesh vertex data to GPU (VRAM)
Definition at line 277 of file MeshUnmanaged.hpp.
|
inline |
Upload mesh vertex data to GPU (VRAM)
Definition at line 270 of file MeshUnmanaged.hpp.