diff options
| author | Ray <[email protected]> | 2017-10-20 16:15:23 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-10-20 16:15:23 +0200 |
| commit | 18601f761935cd81b0f6298e22885c9bc6b5ee6e (patch) | |
| tree | cf6c71baa1127c796e05dd622c106742e8ace030 /src | |
| parent | d9d9546ee5704201571a7875e6f5e40784490e6f (diff) | |
| parent | 1ef818b0325dafd2d7028a663b9b90d6d6529c44 (diff) | |
| download | raylib-18601f761935cd81b0f6298e22885c9bc6b5ee6e.tar.gz raylib-18601f761935cd81b0f6298e22885c9bc6b5ee6e.zip | |
Merge pull request #369 from raysan5/develop
Integrate Develop branch
Diffstat (limited to 'src')
| -rw-r--r-- | src/models.c | 19 | ||||
| -rw-r--r-- | src/resources | bin | 107260 -> 106876 bytes |
2 files changed, 12 insertions, 7 deletions
diff --git a/src/models.c b/src/models.c index ea8f6c30..4b8a6731 100644 --- a/src/models.c +++ b/src/models.c @@ -666,7 +666,7 @@ Mesh GenMeshPlane(float width, float length, int resX, int resZ) // Vertices definition int vertexCount = resX*resZ*6; // 6 vertex by quad - Vector3 vertices[vertexCount]; + Vector3 *vertices = (Vector3 *)malloc(vertexCount*sizeof(Vector3)); for (int z = 0; z < resZ; z++) { // [-length/2, length/2] @@ -680,11 +680,11 @@ Mesh GenMeshPlane(float width, float length, int resX, int resZ) } // Normals definition - Vector3 normals[vertexCount]; + Vector3 *normals = (Vector3 *)malloc(vertexCount*sizeof(Vector3)); for (int n = 0; n < vertexCount; n++) normals[n] = (Vector3){ 0.0f, 1.0f, 0.0f }; // Vector3.up; // TexCoords definition - Vector2 texcoords[vertexCount]; + Vector2 *texcoords = (Vector2 *)malloc(vertexCount*sizeof(Vector2)); for (int v = 0; v < resZ; v++) { for (int u = 0; u < resX; u++) @@ -694,10 +694,10 @@ Mesh GenMeshPlane(float width, float length, int resX, int resZ) } // Triangles definition (indices) - int nbFaces = (resX - 1)*(resZ - 1); - int triangles[nbFaces*6]; + int numFaces = (resX - 1)*(resZ - 1); + int *triangles = (int *)malloc(numFaces*6*sizeof(int)); int t = 0; - for (int face = 0; face < nbFaces; face++) + for (int face = 0; face < numFaces; face++) { // Retrieve lower left corner from face ind int i = face % (resX - 1) + (face/(resZ - 1)*resX); @@ -712,7 +712,7 @@ Mesh GenMeshPlane(float width, float length, int resX, int resZ) } mesh.vertexCount = vertexCount; - mesh.triangleCount = nbFaces*2; + mesh.triangleCount = numFaces*2; mesh.vertices = (float *)malloc(mesh.vertexCount*3*sizeof(float)); mesh.texcoords = (float *)malloc(mesh.vertexCount*2*sizeof(float)); mesh.normals = (float *)malloc(mesh.vertexCount*3*sizeof(float)); @@ -744,6 +744,11 @@ Mesh GenMeshPlane(float width, float length, int resX, int resZ) // Mesh indices array initialization for (int i = 0; i < mesh.triangleCount*3; i++) mesh.indices[i] = triangles[i]; + free(vertices); + free(normals); + free(texcoords); + free(triangles); + #else // Use par_shapes library to generate plane mesh par_shapes_mesh *plane = par_shapes_create_plane(resX, resZ); // No normals/texcoords generated!!! diff --git a/src/resources b/src/resources Binary files differindex 92ccf3a6..2273ca71 100644 --- a/src/resources +++ b/src/resources |
