aboutsummaryrefslogtreecommitdiff
path: root/src/models.c
diff options
context:
space:
mode:
authorraysan5 <raysan5@gmail.com>2015-01-18 10:57:30 +0100
committerraysan5 <raysan5@gmail.com>2015-01-18 10:57:30 +0100
commit5104567a24021fb07e62f941b4b9e64f4bda56e7 (patch)
treeefbe8719ae383edd60b08d0969377218e275430a /src/models.c
parent2968ba9938792753a876deb3e2584f3361c60b4d (diff)
downloadraylib-5104567a24021fb07e62f941b4b9e64f4bda56e7.tar.gz
raylib-5104567a24021fb07e62f941b4b9e64f4bda56e7.zip
Some code tweaks
Diffstat (limited to 'src/models.c')
-rw-r--r--src/models.c44
1 files changed, 28 insertions, 16 deletions
diff --git a/src/models.c b/src/models.c
index f61f79f5..bb172203 100644
--- a/src/models.c
+++ b/src/models.c
@@ -686,10 +686,13 @@ Model LoadModel(const char *fileName)
Model model = rlglLoadModel(vData); // Upload vertex data to GPU
// Now that vertex data is uploaded to GPU, we can free arrays
- // NOTE: Despite vertex data is useless on OpenGL 3.3 or ES2, we will keep it...
- //free(vData.vertices);
- //free(vData.texcoords);
- //free(vData.normals);
+ // NOTE: We don't need CPU vertex data on OpenGL 3.3 or ES2
+ if (rlGetVersion() != OPENGL_11)
+ {
+ free(vData.vertices);
+ free(vData.texcoords);
+ free(vData.normals);
+ }
return model;
}
@@ -803,10 +806,13 @@ Model LoadHeightmap(Image heightmap, float maxHeight)
Model model = rlglLoadModel(vData);
// Now that vertex data is uploaded to GPU, we can free arrays
- // NOTE: Despite vertex data is useless on OpenGL 3.3 or ES2, we will keep it...
- //free(vData.vertices);
- //free(vData.texcoords);
- //free(vData.normals);
+ // NOTE: We don't need CPU vertex data on OpenGL 3.3 or ES2
+ if (rlGetVersion() != OPENGL_11)
+ {
+ free(vData.vertices);
+ free(vData.texcoords);
+ free(vData.normals);
+ }
return model;
}
@@ -1118,10 +1124,13 @@ Model LoadCubicmap(Image cubesmap)
Model model = rlglLoadModel(vData);
// Now that vertex data is uploaded to GPU, we can free arrays
- // NOTE: Despite vertex data is useless on OpenGL 3.3 or ES2, we will keep it...
- //free(vData.vertices);
- //free(vData.texcoords);
- //free(vData.normals);
+ // NOTE: We don't need CPU vertex data on OpenGL 3.3 or ES2
+ if (rlGetVersion() != OPENGL_11)
+ {
+ free(vData.vertices);
+ free(vData.texcoords);
+ free(vData.normals);
+ }
return model;
}
@@ -1129,10 +1138,13 @@ Model LoadCubicmap(Image cubesmap)
// Unload 3d model from memory
void UnloadModel(Model model)
{
- free(model.mesh.vertices);
- free(model.mesh.texcoords);
- free(model.mesh.normals);
-
+ if (rlGetVersion() == OPENGL_11)
+ {
+ free(model.mesh.vertices);
+ free(model.mesh.texcoords);
+ free(model.mesh.normals);
+ }
+
rlDeleteBuffers(model.vboId[0]);
rlDeleteBuffers(model.vboId[1]);
rlDeleteBuffers(model.vboId[2]);