mirror of
https://github.com/raysan5/raylib.git
synced 2025-09-12 14:28:15 +00:00
WARNING: Redesigned model struct for multi-meshes
This is quite a big change, Model struct has been redesigned to support multiple meshes and multiple materials, most 3d fileformats contain multiple meshes and reference multiple materials. Consequently, multiple functions have been reviewed. LoadOBJ(), LoadIQM(), LoadGLFT() now return a Model. Current LoadOBJ() is not valid anymore, actually, tinyobj_loader_c library is considered for replacement.
This commit is contained in:
19
src/raylib.h
19
src/raylib.h
@@ -339,18 +339,15 @@ typedef struct Material {
|
||||
|
||||
// Model type
|
||||
typedef struct Model {
|
||||
Mesh mesh; // Vertex data buffers (RAM and VRAM)
|
||||
Matrix transform; // Local transform matrix
|
||||
Material material; // Shader and textures data
|
||||
/*
|
||||
Mesh *meshes; // Vertex data buffers (RAM and VRAM)
|
||||
int meshCount;
|
||||
|
||||
int meshCount; // Number of meshes
|
||||
Mesh *meshes; // Meshes array
|
||||
|
||||
Material *materials; // Shader and textures data
|
||||
int materialCount;
|
||||
|
||||
int *meshMaterial; // Material assigned to every mesh
|
||||
*/
|
||||
int materialCount; // Number of materials
|
||||
Material *materials; // Materials array
|
||||
|
||||
int *meshMaterial; // Mesh material number
|
||||
} Model;
|
||||
|
||||
// Ray type (useful for raycast)
|
||||
@@ -1226,7 +1223,7 @@ RLAPI void DrawGizmo(Vector3 position);
|
||||
//------------------------------------------------------------------------------------
|
||||
|
||||
// Model loading/unloading functions
|
||||
RLAPI Model LoadModel(const char *fileName); // Load model from files (mesh and material)
|
||||
RLAPI Model LoadModel(const char *fileName); // Load model from files (meshes and materials)
|
||||
RLAPI Model LoadModelFromMesh(Mesh mesh); // Load model from generated mesh
|
||||
RLAPI void UnloadModel(Model model); // Unload model from memory (RAM and/or VRAM)
|
||||
|
||||
|
Reference in New Issue
Block a user