From 0b03431c95c3c348aa686c1a3df68a51bd7761a6 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 23 Jul 2014 00:06:24 +0200 Subject: [PATCH] Update to version 1.1.1 Check CHANGELOG for a detailed list of changes --- CHANGELOG | 19 +- HELPME.md | 2 +- README.md | 4 +- ROADMAP.md | 2 +- examples/ex07b_3d_shapes.c | 2 +- release/win32-mingw/include/raylib.h | 9 +- release/win32-mingw/lib/libraylib.a | Bin 302680 -> 279998 bytes src/core.c | 147 ++++++- src/models.c | 593 ++++++++++++++++++++------- src/raylib.h | 7 +- src/rlgl.c | 260 +++++------- src/rlgl.h | 2 +- src/text.c | 4 +- src/textures.c | 40 +- tests/resources/cubesmap.png | Bin 0 -> 173 bytes tests/test_cubesmap.c | 83 ++++ tests/test_heightmap.c | 8 +- 17 files changed, 851 insertions(+), 331 deletions(-) create mode 100644 tests/resources/cubesmap.png create mode 100644 tests/test_cubesmap.c diff --git a/CHANGELOG b/CHANGELOG index c8bd40122..9c7242bc0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,11 +1,28 @@ changelog --------- -Current Release: raylib 1.1.0 (April 2014) +Current Release: raylib 1.1.1 (22 July 2014) NOTE: Only versions marked as 'Release' are available on release folder, updates are only available as source. NOTE: Current Release includes all previous updates. +----------------------------------------------- +Release: raylib 1.1.1 (22 July 2014) +----------------------------------------------- +[core] ShowLogo() - To enable raylib logo animation at startup +[core] Corrected bug with window resizing +[rlgl] Redefined colors arrays to use byte instead of float +[rlgl] Removed double buffer system (no performance improvement) +[rlgl] rlglDraw() - Reorganized buffers drawing order +[rlgl] Corrected bug on screen resizing +[models] DrawSphereWires() - Corrected some issues +[models] LoadOBJ() - Redesigned to support multiple meshes +[models] LoadCubesMap() - Loading a map as cubes (by pixel color) +[textures] Added security check if file doesn't exist +[text] Corrected bug on SpriteFont loading +[examples] Corrected some 3d examples +[test] Added cubesmap loading test + ----------------------------------------------- Release: raylib 1.1.0 (19 April 2014) ----------------------------------------------- diff --git a/HELPME.md b/HELPME.md index 12c932d4c..119cccf83 100644 --- a/HELPME.md +++ b/HELPME.md @@ -34,4 +34,4 @@ contact * Facebook: [http://www.facebook.com/raylibgames](http://www.facebook.com/raylibgames) -[raysan5]: mailto:raysan5@gmail.com "Ramon Santamaria - Ray San" +[raysan5]: mailto:raysan@raysanweb.com "Ramon Santamaria - Ray San" diff --git a/README.md b/README.md index f2905e4e5..7da8f1a6a 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,8 @@ I believe those are the best tools to train spartan-programmers. Someone could argue about debugging. raylib is a library intended for learning and I think C it's a clear enough language to allow writing small-mid size programs with a printf-based debugging. All raylib examples have also been written this way. +Since raylib v1.1, you can download a windows Installer package for easy installation and configuration. Check [raylib Webpage](http://www.raylib.com/) + building -------- @@ -143,4 +145,4 @@ The following people have contributed in some way to make raylib project a reali - Victor Dual - Marc Palau -[raysan5]: mailto:raysan5@gmail.com "Ramon Santamaria - Ray San" +[raysan5]: mailto:raysan@raysanweb.com "Ramon Santamaria - Ray San" diff --git a/ROADMAP.md b/ROADMAP.md index d306c7ac4..b48c30440 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -19,4 +19,4 @@ raylib v1.x Any feature missing? Do you have a request? [Let me know!][raysan5] -[raysan5]: mailto:raysan5@gmail.com "Ramon Santamaria - Ray San" +[raysan5]: mailto:raysan@raysanweb.com "Ramon Santamaria - Ray San" diff --git a/examples/ex07b_3d_shapes.c b/examples/ex07b_3d_shapes.c index af6ad837c..7520717dd 100644 --- a/examples/ex07b_3d_shapes.c +++ b/examples/ex07b_3d_shapes.c @@ -47,7 +47,7 @@ int main() DrawCubeWires((Vector3){-4, 0, -2}, 3, 6, 2, MAROON); DrawSphere((Vector3){-1, 0, -2}, 1, GREEN); - DrawSphereWires((Vector3){1, 0, 2}, 2, LIME); + DrawSphereWires((Vector3){1, 0, 2}, 2, 16, 16, LIME); DrawCylinder((Vector3){4, 0, -2}, 1, 2, 3, 4, SKYBLUE); DrawCylinderWires((Vector3){4, 0, -2}, 1, 2, 3, 4, DARKBLUE); diff --git a/release/win32-mingw/include/raylib.h b/release/win32-mingw/include/raylib.h index 21d22122e..da5427c0a 100644 --- a/release/win32-mingw/include/raylib.h +++ b/release/win32-mingw/include/raylib.h @@ -221,16 +221,16 @@ typedef struct Camera { } Camera; // Vertex data definning a mesh -typedef struct { +typedef struct VertexData { int vertexCount; float *vertices; // 3 components per vertex float *texcoords; // 2 components per vertex float *normals; // 3 components per vertex - float *colors; // 4 components per vertex + unsigned char *colors; // 4 components per vertex } VertexData; // 3d Model type -// NOTE: If using OpenGL 1.1 loaded in CPU (mesh); if OpenGL 3.3+ loaded in GPU (vaoId) +// NOTE: If using OpenGL 1.1, loaded in CPU (mesh); if OpenGL 3.3+ loaded in GPU (vaoId) typedef struct Model { VertexData mesh; unsigned int vaoId; @@ -282,6 +282,8 @@ int GetHexValue(Color color); // Returns hexadecim int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) Color Fade(Color color, float alpha); // Color fade-in or fade-out, alpha goes from 0.0 to 1.0 +void ShowLogo(); // Activates raylib logo at startup + //------------------------------------------------------------------------------------ // Input Handling Functions (Module: core) //------------------------------------------------------------------------------------ @@ -395,6 +397,7 @@ void DrawGizmoEx(Vector3 position, Vector3 rotation, float scale); Model LoadModel(const char *fileName); // Load a 3d model (.OBJ) //Model LoadModelFromRES(const char *rresName, int resId); // TODO: Load a 3d model from rRES file (raylib Resource) Model LoadHeightmap(Image heightmap, float maxHeight); // Load a heightmap image as a 3d model +Model LoadCubesmap(Image cubesmap); // Load a map image as a 3d model (cubes based) void UnloadModel(Model model); // Unload 3d model from memory void SetModelTexture(Model *model, Texture2D texture); // Link a texture to a model diff --git a/release/win32-mingw/lib/libraylib.a b/release/win32-mingw/lib/libraylib.a index 9349785e0208ec3708c34d555eadbc13e92ec12c..d900d3201a0f539f9ff4db5ca8a17a43ed6b3283 100644 GIT binary patch literal 279998 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 OTX$De9tt6G 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¤n#$XH41!}iUgvPTJTV6nj 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%0A$60H#H}oA4z%&uK!{@#T&vtXmdM8 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 wJ|msT{7QT_J= 10) // When all letters have appeared, just fade out everything + { + alpha -= 0.02; + + if (alpha <= 0) + { + alpha = 0; + state = 4; + } + } + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + if (state == 0) + { + if ((framesCounter/12)%2) DrawRectangle(logoPositionX, logoPositionY, 16, 16, BLACK); + } + else if (state == 1) + { + DrawRectangle(logoPositionX, logoPositionY, topSideRecWidth, 16, BLACK); + DrawRectangle(logoPositionX, logoPositionY, 16, leftSideRecHeight, BLACK); + } + else if (state == 2) + { + DrawRectangle(logoPositionX, logoPositionY, topSideRecWidth, 16, BLACK); + DrawRectangle(logoPositionX, logoPositionY, 16, leftSideRecHeight, BLACK); + + DrawRectangle(logoPositionX + 240, logoPositionY, 16, rightSideRecHeight, BLACK); + DrawRectangle(logoPositionX, logoPositionY + 240, bottomSideRecWidth, 16, BLACK); + } + else if (state == 3) + { + DrawRectangle(logoPositionX, logoPositionY, topSideRecWidth, 16, Fade(BLACK, alpha)); + DrawRectangle(logoPositionX, logoPositionY + 16, 16, leftSideRecHeight - 32, Fade(BLACK, alpha)); + + DrawRectangle(logoPositionX + 240, logoPositionY + 16, 16, rightSideRecHeight - 32, Fade(BLACK, alpha)); + DrawRectangle(logoPositionX, logoPositionY + 240, bottomSideRecWidth, 16, Fade(BLACK, alpha)); + + DrawRectangle(windowWidth/2 - 112, windowHeight/2 - 112, 224, 224, Fade(RAYWHITE, alpha)); + + DrawText(raylib, 356, 273, 50, Fade(BLACK, alpha)); + } + + EndDrawing(); + //---------------------------------------------------------------------------------- + } } \ No newline at end of file diff --git a/src/models.c b/src/models.c index 0c7201cdf..d66d2cce5 100644 --- a/src/models.c +++ b/src/models.c @@ -681,6 +681,7 @@ Model LoadHeightmap(Image heightmap, float maxHeight) vData.vertices = (float *)malloc(vData.vertexCount * 3 * sizeof(float)); vData.normals = (float *)malloc(vData.vertexCount * 3 * sizeof(float)); vData.texcoords = (float *)malloc(vData.vertexCount * 2 * sizeof(float)); + vData.colors = (unsigned char *)malloc(vData.vertexCount * 4 * sizeof(unsigned char)); int vCounter = 0; // Used to count vertices float by float int tcCounter = 0; // Used to count texcoords float by float @@ -765,6 +766,9 @@ Model LoadHeightmap(Image heightmap, float maxHeight) // NOTE: At this point we have all vertex, texcoord, normal data for the model in vData struct + // Fill color data + for (int i = 0; i < (4*vData.vertexCount); i++) vData.colors[i] = 255; + Model model; model.mesh = vData; // Model mesh is vertex data @@ -783,6 +787,329 @@ Model LoadHeightmap(Image heightmap, float maxHeight) return model; } +// Load a map image as a 3d model (cubes based) +Model LoadCubesmap(Image cubesmap) +{ + VertexData vData; + + // Map cube size will be 1.0 + float mapCubeSide = 1.0f; + int mapWidth = cubesmap.width * (int)mapCubeSide; + int mapHeight = cubesmap.height * (int)mapCubeSide; + + // NOTE: Max possible number of triangles numCubes * (12 triangles by cube) + int maxTriangles = cubesmap.width*cubesmap.height*12; + + int vCounter = 0; // Used to count vertices + int tcCounter = 0; // Used to count texcoords + int nCounter = 0; // Used to count normals + + float w = mapCubeSide; + float h = mapCubeSide; + float h2 = mapCubeSide; + + Vector3 *mapVertices = (Vector3 *)malloc(maxTriangles * 3 * sizeof(Vector3)); + Vector2 *mapTexcoords = (Vector2 *)malloc(maxTriangles * 3 * sizeof(Vector2)); + Vector3 *mapNormals = (Vector3 *)malloc(maxTriangles * 3 * sizeof(Vector3)); + + for (int z = 0; z < mapHeight; z += mapCubeSide) + { + for (int x = 0; x < mapWidth; x += mapCubeSide) + { + // Define the 8 vertex of the cube, we will combine them accordingly later... + Vector3 v1 = { x - w/2, h2, z - h/2 }; + Vector3 v2 = { x - w/2, h2, z + h/2 }; + Vector3 v3 = { x + w/2, h2, z + h/2 }; + Vector3 v4 = { x + w/2, h2, z - h/2 }; + Vector3 v5 = { x + w/2, 0, z - h/2 }; + Vector3 v6 = { x - w/2, 0, z - h/2 }; + Vector3 v7 = { x - w/2, 0, z + h/2 }; + Vector3 v8 = { x + w/2, 0, z + h/2 }; + + // Define the 6 normals of the cube, we will combine them accordingly later... + Vector3 n1 = { 1.0f, 0.0f, 0.0f }; + Vector3 n2 = { -1.0f, 0.0f, 0.0f }; + Vector3 n3 = { 0.0f, 1.0f, 0.0f }; + Vector3 n4 = { 0.0f, -1.0f, 0.0f }; + Vector3 n5 = { 0.0f, 0.0f, 1.0f }; + Vector3 n6 = { 0.0f, 0.0f, -1.0f }; + + // Define the 4 texture coordinates of the cube, we will combine them accordingly later... + // TODO: Use texture rectangles to define different textures for top-bottom-front-back-right-left (6) + Vector2 vt2 = { 0.0f, 0.0f }; + Vector2 vt1 = { 0.0f, 1.0f }; + Vector2 vt4 = { 1.0f, 0.0f }; + Vector2 vt3 = { 1.0f, 1.0f }; + + // We check pixel color to be WHITE, we will full cubes + if ((cubesmap.pixels[z*cubesmap.width + x].r == 255) && + (cubesmap.pixels[z*cubesmap.width + x].g == 255) && + (cubesmap.pixels[z*cubesmap.width + x].b == 255)) + { + // Define triangles (Checking Collateral Cubes!) + //---------------------------------------------- + + // Define top triangles (2 tris, 6 vertex --> v1-v2-v3, v1-v3-v4) + mapVertices[vCounter] = v1; + mapVertices[vCounter + 1] = v2; + mapVertices[vCounter + 2] = v3; + mapVertices[vCounter + 3] = v1; + mapVertices[vCounter + 4] = v3; + mapVertices[vCounter + 5] = v4; + vCounter += 6; + + mapNormals[nCounter] = n3; + mapNormals[nCounter + 1] = n3; + mapNormals[nCounter + 2] = n3; + mapNormals[nCounter + 3] = n3; + mapNormals[nCounter + 4] = n3; + mapNormals[nCounter + 5] = n3; + nCounter += 6; + + mapTexcoords[tcCounter] = vt2; + mapTexcoords[tcCounter + 1] = vt1; + mapTexcoords[tcCounter + 2] = vt3; + mapTexcoords[tcCounter + 3] = vt2; + mapTexcoords[tcCounter + 4] = vt3; + mapTexcoords[tcCounter + 5] = vt4; + tcCounter += 6; + + // Define bottom triangles (2 tris, 6 vertex --> v6-v8-v7, v6-v5-v8) + mapVertices[vCounter] = v6; + mapVertices[vCounter + 1] = v8; + mapVertices[vCounter + 2] = v7; + mapVertices[vCounter + 3] = v6; + mapVertices[vCounter + 4] = v5; + mapVertices[vCounter + 5] = v8; + vCounter += 6; + + mapNormals[nCounter] = n4; + mapNormals[nCounter + 1] = n4; + mapNormals[nCounter + 2] = n4; + mapNormals[nCounter + 3] = n4; + mapNormals[nCounter + 4] = n4; + mapNormals[nCounter + 5] = n4; + nCounter += 6; + + mapTexcoords[tcCounter] = vt4; + mapTexcoords[tcCounter + 1] = vt1; + mapTexcoords[tcCounter + 2] = vt3; + mapTexcoords[tcCounter + 3] = vt4; + mapTexcoords[tcCounter + 4] = vt2; + mapTexcoords[tcCounter + 5] = vt1; + tcCounter += 6; + + if (((z < cubesmap.height - 1) && + (cubesmap.pixels[(z + 1)*cubesmap.width + x].r == 0) && + (cubesmap.pixels[(z + 1)*cubesmap.width + x].g == 0) && + (cubesmap.pixels[(z + 1)*cubesmap.width + x].b == 0)) || (z == cubesmap.height - 1)) + { + // Define front triangles (2 tris, 6 vertex) --> v2 v7 v3, v3 v7 v8 + // NOTE: Collateral occluded faces are not generated + mapVertices[vCounter] = v2; + mapVertices[vCounter + 1] = v7; + mapVertices[vCounter + 2] = v3; + mapVertices[vCounter + 3] = v3; + mapVertices[vCounter + 4] = v7; + mapVertices[vCounter + 5] = v8; + vCounter += 6; + + mapNormals[nCounter] = n6; + mapNormals[nCounter + 1] = n6; + mapNormals[nCounter + 2] = n6; + mapNormals[nCounter + 3] = n6; + mapNormals[nCounter + 4] = n6; + mapNormals[nCounter + 5] = n6; + nCounter += 6; + + mapTexcoords[tcCounter] = vt2; + mapTexcoords[tcCounter + 1] = vt1; + mapTexcoords[tcCounter + 2] = vt4; + mapTexcoords[tcCounter + 3] = vt4; + mapTexcoords[tcCounter + 4] = vt1; + mapTexcoords[tcCounter + 5] = vt3; + tcCounter += 6; + } + + if (((z > 0) && + (cubesmap.pixels[(z - 1)*cubesmap.width + x].r == 0) && + (cubesmap.pixels[(z - 1)*cubesmap.width + x].g == 0) && + (cubesmap.pixels[(z - 1)*cubesmap.width + x].b == 0)) || (z == 0)) + { + // Define back triangles (2 tris, 6 vertex) --> v1 v5 v6, v1 v4 v5 + // NOTE: Collateral occluded faces are not generated + mapVertices[vCounter] = v1; + mapVertices[vCounter + 1] = v5; + mapVertices[vCounter + 2] = v6; + mapVertices[vCounter + 3] = v1; + mapVertices[vCounter + 4] = v4; + mapVertices[vCounter + 5] = v5; + vCounter += 6; + + mapNormals[nCounter] = n5; + mapNormals[nCounter + 1] = n5; + mapNormals[nCounter + 2] = n5; + mapNormals[nCounter + 3] = n5; + mapNormals[nCounter + 4] = n5; + mapNormals[nCounter + 5] = n5; + nCounter += 6; + + mapTexcoords[tcCounter] = vt4; + mapTexcoords[tcCounter + 1] = vt1; + mapTexcoords[tcCounter + 2] = vt3; + mapTexcoords[tcCounter + 3] = vt4; + mapTexcoords[tcCounter + 4] = vt2; + mapTexcoords[tcCounter + 5] = vt1; + tcCounter += 6; + } + + if (((x < cubesmap.width - 1) && + (cubesmap.pixels[z*cubesmap.width + (x + 1)].r == 0) && + (cubesmap.pixels[z*cubesmap.width + (x + 1)].g == 0) && + (cubesmap.pixels[z*cubesmap.width + (x + 1)].b == 0)) || (x == cubesmap.width - 1)) + { + // Define right triangles (2 tris, 6 vertex) --> v3 v8 v4, v4 v8 v5 + // NOTE: Collateral occluded faces are not generated + mapVertices[vCounter] = v3; + mapVertices[vCounter + 1] = v8; + mapVertices[vCounter + 2] = v4; + mapVertices[vCounter + 3] = v4; + mapVertices[vCounter + 4] = v8; + mapVertices[vCounter + 5] = v5; + vCounter += 6; + + mapNormals[nCounter] = n1; + mapNormals[nCounter + 1] = n1; + mapNormals[nCounter + 2] = n1; + mapNormals[nCounter + 3] = n1; + mapNormals[nCounter + 4] = n1; + mapNormals[nCounter + 5] = n1; + nCounter += 6; + + mapTexcoords[tcCounter] = vt2; + mapTexcoords[tcCounter + 1] = vt1; + mapTexcoords[tcCounter + 2] = vt4; + mapTexcoords[tcCounter + 3] = vt4; + mapTexcoords[tcCounter + 4] = vt1; + mapTexcoords[tcCounter + 5] = vt3; + tcCounter += 6; + } + + if (((x > 0) && + (cubesmap.pixels[z*cubesmap.width + (x - 1)].r == 0) && + (cubesmap.pixels[z*cubesmap.width + (x - 1)].g == 0) && + (cubesmap.pixels[z*cubesmap.width + (x - 1)].b == 0)) || (x == 0)) + { + // Define left triangles (2 tris, 6 vertex) --> v1 v7 v2, v1 v6 v7 + // NOTE: Collateral occluded faces are not generated + mapVertices[vCounter] = v1; + mapVertices[vCounter + 1] = v7; + mapVertices[vCounter + 2] = v2; + mapVertices[vCounter + 3] = v1; + mapVertices[vCounter + 4] = v6; + mapVertices[vCounter + 5] = v7; + vCounter += 6; + + mapNormals[nCounter] = n2; + mapNormals[nCounter + 1] = n2; + mapNormals[nCounter + 2] = n2; + mapNormals[nCounter + 3] = n2; + mapNormals[nCounter + 4] = n2; + mapNormals[nCounter + 5] = n2; + nCounter += 6; + + mapTexcoords[tcCounter] = vt2; + mapTexcoords[tcCounter + 1] = vt3; + mapTexcoords[tcCounter + 2] = vt4; + mapTexcoords[tcCounter + 3] = vt2; + mapTexcoords[tcCounter + 4] = vt1; + mapTexcoords[tcCounter + 5] = vt3; + tcCounter += 6; + } + } + // We check pixel color to be BLACK, we will only draw floor and roof + else if ((cubesmap.pixels[z*cubesmap.width + x].r == 0) && + (cubesmap.pixels[z*cubesmap.width + x].g == 0) && + (cubesmap.pixels[z*cubesmap.width + x].b == 0)) + { + // Define top triangles (2 tris, 6 vertex --> v1-v3-v2, v1-v4-v3) + // TODO: ... + + // Define bottom triangles (2 tris, 6 vertex --> v6-v7-v8, v6-v8-v5) + // TODO: ... + } + } + } + + // Move data from mapVertices temp arays to vertices float array + vData.vertexCount = vCounter; + + printf("Vertex count: %i\n", vCounter); + + vData.vertices = (float *)malloc(vData.vertexCount * 3 * sizeof(float)); + vData.normals = (float *)malloc(vData.vertexCount * 3 * sizeof(float)); + vData.texcoords = (float *)malloc(vData.vertexCount * 2 * sizeof(float)); + vData.colors = (unsigned char *)malloc(vData.vertexCount * 4 * sizeof(unsigned char)); + + // Fill color data + for (int i = 0; i < (4*vData.vertexCount); i++) vData.colors[i] = 255; + + int fCounter = 0; + + // Move vertices data + for (int i = 0; i < vCounter; i++) + { + vData.vertices[fCounter] = mapVertices[i].x; + vData.vertices[fCounter + 1] = mapVertices[i].y; + vData.vertices[fCounter + 2] = mapVertices[i].z; + fCounter += 3; + } + + fCounter = 0; + + // Move normals data + for (int i = 0; i < nCounter; i++) + { + vData.normals[fCounter] = mapNormals[i].x; + vData.normals[fCounter + 1] = mapNormals[i].y; + vData.normals[fCounter + 2] = mapNormals[i].z; + fCounter += 3; + } + + fCounter = 0; + + // Move texcoords data + for (int i = 0; i < tcCounter; i++) + { + vData.texcoords[fCounter] = mapTexcoords[i].x; + vData.texcoords[fCounter + 1] = mapTexcoords[i].y; + fCounter += 2; + } + + free(mapVertices); + free(mapNormals); + free(mapTexcoords); + + // NOTE: At this point we have all vertex, texcoord, normal data for the model in vData struct + + Model model; + + model.mesh = vData; // Model mesh is vertex data + model.textureId = 0; + +#if defined(USE_OPENGL_33) || defined(USE_OPENGL_ES2) + model.vaoId = rlglLoadModel(vData); // Use loaded data to generate VAO + model.textureId = 1; // Default whiteTexture + + // Now that vertex data is uploaded to GPU, we can free arrays + //free(vData.vertices); + //free(vData.texcoords); + //free(vData.normals); +#endif + + return model; +} + // Unload 3d model from memory void UnloadModel(Model model) { @@ -945,141 +1272,81 @@ static VertexData LoadOBJ(const char *fileName) objFile = fopen(fileName, "rt"); - // First pass over all file to get numVertex, numNormals, numTexCoords, numTriangles + // First reading pass: Get numVertex, numNormals, numTexCoords, numTriangles // NOTE: vertex, texcoords and normals could be optimized (to be used indexed on faces definition) + // NOTE: faces MUST be defined as TRIANGLES, not QUADS while(!feof(objFile)) { fscanf(objFile, "%c", &dataType); switch(dataType) { - case '#': // It's a comment + case '#': // Comments + case 'o': // Object name (One OBJ file can contain multible named meshes) + case 'g': // Group name + case 's': // Smoothing level + case 'm': // mtllib [external .mtl file name] + case 'u': // usemtl [material name] { - fgets(comments, 200, objFile); - } break; - case 'o': // New object - { - // TODO: Read multiple objects, we need to know numMeshes + verticesPerMesh - - // NOTE: One OBJ file can contain multible meshes defined, one after every 'o' - - } break; + fgets(comments, 200, objFile); + } break; case 'v': { fscanf(objFile, "%c", &dataType); if (dataType == 't') // Read texCoord { - fgets(comments, 200, objFile); - fscanf(objFile, "%c", &dataType); - - while (dataType == 'v') - { - fgets(comments, 200, objFile); - fscanf(objFile, "%c", &dataType); - } - - if (dataType == '#') - { - fscanf(objFile, "%i", &numTexCoords); - } - + numTexCoords++; fgets(comments, 200, objFile); } else if (dataType == 'n') // Read normals { - fgets(comments, 200, objFile); - fscanf(objFile, "%c", &dataType); - - while (dataType == 'v') - { - fgets(comments, 200, objFile); - fscanf(objFile, "%c", &dataType); - } - - if (dataType == '#') - { - fscanf(objFile, "%i", &numNormals); - } - + numNormals++; fgets(comments, 200, objFile); } else // Read vertex { - fgets(comments, 200, objFile); - fscanf(objFile, "%c", &dataType); - - while (dataType == 'v') - { - fgets(comments, 200, objFile); - fscanf(objFile, "%c", &dataType); - } - - if (dataType == '#') - { - fscanf(objFile, "%i", &numVertex); - } - + numVertex++; fgets(comments, 200, objFile); } } break; case 'f': { + numTriangles++; fgets(comments, 200, objFile); - fscanf(objFile, "%c", &dataType); - - while (dataType == 'f') - { - fgets(comments, 200, objFile); - fscanf(objFile, "%c", &dataType); - } - - if (dataType == '#') - { - fscanf(objFile, "%i", &numTriangles); - } - - fgets(comments, 200, objFile); - } break; default: break; } } + TraceLog(DEBUG, "[%s] Model num vertices: %i", fileName, numVertex); + TraceLog(DEBUG, "[%s] Model num texcoords: %i", fileName, numTexCoords); + TraceLog(DEBUG, "[%s] Model num normals: %i", fileName, numNormals); + TraceLog(DEBUG, "[%s] Model num triangles: %i", fileName, numTriangles); + // Once we know the number of vertices to store, we create required arrays Vector3 *midVertices = (Vector3 *)malloc(numVertex*sizeof(Vector3)); - Vector3 *midNormals = (Vector3 *)malloc(numNormals*sizeof(Vector3)); - Vector2 *midTexCoords = (Vector2 *)malloc(numTexCoords*sizeof(Vector2)); - - vData.vertexCount = numTriangles*3; - - // Additional arrays to store vertex data as floats - vData.vertices = (float *)malloc(vData.vertexCount * 3 * sizeof(float)); - vData.texcoords = (float *)malloc(vData.vertexCount * 2 * sizeof(float)); - vData.normals = (float *)malloc(vData.vertexCount * 3 * sizeof(float)); - vData.colors = (float *)malloc(vData.vertexCount * 4 * sizeof(float)); - + Vector3 *midNormals; + if (numNormals > 0) midNormals = (Vector3 *)malloc(numNormals*sizeof(Vector3)); + Vector2 *midTexCoords; + if (numTexCoords > 0) midTexCoords = (Vector2 *)malloc(numTexCoords*sizeof(Vector2)); + int countVertex = 0; int countNormals = 0; int countTexCoords = 0; - - int vCounter = 0; // Used to count vertices float by float - int tcCounter = 0; // Used to count texcoords float by float - int nCounter = 0; // Used to count normals float by float - + rewind(objFile); // Return to the beginning of the file, to read again - // Reading again file to get vertex data + // Second reading pass: Get vertex data to fill intermediate arrays + // NOTE: This second pass is required in case of multiple meshes defined in same OBJ + // TODO: Consider that diferent meshes can have different vertex data available (position, texcoords, normals) while(!feof(objFile)) { fscanf(objFile, "%c", &dataType); switch(dataType) { - case '#': - { - fgets(comments, 200, objFile); - } break; + case '#': case 'o': case 'g': case 's': case 'm': case 'u': case 'f': fgets(comments, 200, objFile); break; case 'v': { fscanf(objFile, "%c", &dataType); @@ -1108,60 +1375,107 @@ static VertexData LoadOBJ(const char *fileName) fscanf(objFile, "%c", &dataType); } } break; + default: break; + } + } + + // At this point all vertex data (v, vt, vn) has been gathered on midVertices, midTexCoords, midNormals + // Now we can organize that data into our VertexData struct + + vData.vertexCount = numTriangles*3; + + // Additional arrays to store vertex data as floats + vData.vertices = (float *)malloc(vData.vertexCount * 3 * sizeof(float)); + vData.texcoords = (float *)malloc(vData.vertexCount * 2 * sizeof(float)); + vData.normals = (float *)malloc(vData.vertexCount * 3 * sizeof(float)); + vData.colors = (unsigned char *)malloc(vData.vertexCount * 4 * sizeof(unsigned char)); + + int vCounter = 0; // Used to count vertices float by float + int tcCounter = 0; // Used to count texcoords float by float + int nCounter = 0; // Used to count normals float by float + + int vNum[3], vtNum[3], vnNum[3]; + + rewind(objFile); // Return to the beginning of the file, to read again + + if (numNormals == 0) TraceLog(INFO, "[%s] No normals data on OBJ, normals will be generated from faces data", fileName); + + // Third reading pass: Get faces (triangles) data and fill VertexArray + while(!feof(objFile)) + { + fscanf(objFile, "%c", &dataType); + + switch(dataType) + { + case '#': case 'o': case 'g': case 's': case 'm': case 'u': case 'v': fgets(comments, 200, objFile); break; case 'f': { - // At this point all vertex data (v, vt, vn) have been gathered on midVertices, midTexCoords, midNormals - // Now we can organize that data into our VertexData struct - - int vNum, vtNum, vnNum; - fscanf(objFile, "%c", &dataType); - fscanf(objFile, "%i/%i/%i", &vNum, &vtNum, &vnNum); + // NOTE: It could be that OBJ does not have normals or texcoords defined! - vData.vertices[vCounter] = midVertices[vNum-1].x; - vData.vertices[vCounter + 1] = midVertices[vNum-1].y; - vData.vertices[vCounter + 2] = midVertices[vNum-1].z; + if ((numNormals == 0) && (numTexCoords == 0)) fscanf(objFile, "%i %i %i", &vNum[0], &vNum[1], &vNum[2]); + else if (numNormals == 0) fscanf(objFile, "%i/%i %i/%i %i/%i", &vNum[0], &vtNum[0], &vNum[1], &vtNum[1], &vNum[2], &vtNum[2]); + else fscanf(objFile, "%i/%i/%i %i/%i/%i %i/%i/%i", &vNum[0], &vtNum[0], &vnNum[0], &vNum[1], &vtNum[1], &vnNum[1], &vNum[2], &vtNum[2], &vnNum[2]); + + vData.vertices[vCounter] = midVertices[vNum[0]-1].x; + vData.vertices[vCounter + 1] = midVertices[vNum[0]-1].y; + vData.vertices[vCounter + 2] = midVertices[vNum[0]-1].z; + vCounter += 3; + vData.vertices[vCounter] = midVertices[vNum[1]-1].x; + vData.vertices[vCounter + 1] = midVertices[vNum[1]-1].y; + vData.vertices[vCounter + 2] = midVertices[vNum[1]-1].z; + vCounter += 3; + vData.vertices[vCounter] = midVertices[vNum[2]-1].x; + vData.vertices[vCounter + 1] = midVertices[vNum[2]-1].y; + vData.vertices[vCounter + 2] = midVertices[vNum[2]-1].z; vCounter += 3; - vData.normals[nCounter] = midNormals[vnNum-1].x; - vData.normals[nCounter + 1] = midNormals[vnNum-1].y; - vData.normals[nCounter + 2] = midNormals[vnNum-1].z; - nCounter += 3; + if (numNormals > 0) + { + vData.normals[nCounter] = midNormals[vnNum[0]-1].x; + vData.normals[nCounter + 1] = midNormals[vnNum[0]-1].y; + vData.normals[nCounter + 2] = midNormals[vnNum[0]-1].z; + nCounter += 3; + vData.normals[nCounter] = midNormals[vnNum[1]-1].x; + vData.normals[nCounter + 1] = midNormals[vnNum[1]-1].y; + vData.normals[nCounter + 2] = midNormals[vnNum[1]-1].z; + nCounter += 3; + vData.normals[nCounter] = midNormals[vnNum[2]-1].x; + vData.normals[nCounter + 1] = midNormals[vnNum[2]-1].y; + vData.normals[nCounter + 2] = midNormals[vnNum[2]-1].z; + nCounter += 3; + } + else + { + // If normals not defined, they are calculated from the 3 vertices [N = (V2 - V1) x (V3 - V1)] + Vector3 norm = VectorCrossProduct(VectorSubtract(midVertices[vNum[1]-1], midVertices[vNum[0]-1]), VectorSubtract(midVertices[vNum[2]-1], midVertices[vNum[0]-1])); + VectorNormalize(&norm); + + vData.normals[nCounter] = norm.x; + vData.normals[nCounter + 1] = norm.y; + vData.normals[nCounter + 2] = norm.z; + nCounter += 3; + vData.normals[nCounter] = norm.x; + vData.normals[nCounter + 1] = norm.y; + vData.normals[nCounter + 2] = norm.z; + nCounter += 3; + vData.normals[nCounter] = norm.x; + vData.normals[nCounter + 1] = norm.y; + vData.normals[nCounter + 2] = norm.z; + nCounter += 3; + } - vData.texcoords[tcCounter] = midTexCoords[vtNum-1].x; - vData.texcoords[tcCounter + 1] = -midTexCoords[vtNum-1].y; - tcCounter += 2; - - fscanf(objFile, "%i/%i/%i", &vNum, &vtNum, &vnNum); - - vData.vertices[vCounter] = midVertices[vNum-1].x; - vData.vertices[vCounter + 1] = midVertices[vNum-1].y; - vData.vertices[vCounter + 2] = midVertices[vNum-1].z; - vCounter += 3; - - vData.normals[nCounter] = midNormals[vnNum-1].x; - vData.normals[nCounter + 1] = midNormals[vnNum-1].y; - vData.normals[nCounter + 2] = midNormals[vnNum-1].z; - nCounter += 3; - - vData.texcoords[tcCounter] = midTexCoords[vtNum-1].x; - vData.texcoords[tcCounter + 1] = -midTexCoords[vtNum-1].y; - tcCounter += 2; - - fscanf(objFile, "%i/%i/%i", &vNum, &vtNum, &vnNum); - - vData.vertices[vCounter] = midVertices[vNum-1].x; - vData.vertices[vCounter + 1] = midVertices[vNum-1].y; - vData.vertices[vCounter + 2] = midVertices[vNum-1].z; - vCounter += 3; - - vData.normals[nCounter] = midNormals[vnNum-1].x; - vData.normals[nCounter + 1] = midNormals[vnNum-1].y; - vData.normals[nCounter + 2] = midNormals[vnNum-1].z; - nCounter += 3; - - vData.texcoords[tcCounter] = midTexCoords[vtNum-1].x; - vData.texcoords[tcCounter + 1] = -midTexCoords[vtNum-1].y; - tcCounter += 2; + if (numTexCoords > 0) + { + vData.texcoords[tcCounter] = midTexCoords[vtNum[0]-1].x; + vData.texcoords[tcCounter + 1] = -midTexCoords[vtNum[0]-1].y; + tcCounter += 2; + vData.texcoords[tcCounter] = midTexCoords[vtNum[1]-1].x; + vData.texcoords[tcCounter + 1] = -midTexCoords[vtNum[1]-1].y; + tcCounter += 2; + vData.texcoords[tcCounter] = midTexCoords[vtNum[2]-1].x; + vData.texcoords[tcCounter + 1] = -midTexCoords[vtNum[2]-1].y; + tcCounter += 2; + } } break; default: break; } @@ -1169,8 +1483,11 @@ static VertexData LoadOBJ(const char *fileName) fclose(objFile); + // Security check, just in case no normals or no texcoords defined in OBJ + if (numTexCoords == 0) for (int i = 0; i < (2*vData.vertexCount); i++) vData.texcoords[i] = 0.0f; + // NOTE: We set all vertex colors to white - for (int i = 0; i < (4*vData.vertexCount); i++) vData.colors[i] = 1.0f; + for (int i = 0; i < (4*vData.vertexCount); i++) vData.colors[i] = 255; // Now we can free temp mid* arrays free(midVertices); diff --git a/src/raylib.h b/src/raylib.h index 0ff357c29..da5427c0a 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -226,11 +226,11 @@ typedef struct VertexData { float *vertices; // 3 components per vertex float *texcoords; // 2 components per vertex float *normals; // 3 components per vertex - float *colors; // 4 components per vertex + unsigned char *colors; // 4 components per vertex } VertexData; // 3d Model type -// NOTE: If using OpenGL 1.1 loaded in CPU (mesh); if OpenGL 3.3+ loaded in GPU (vaoId) +// NOTE: If using OpenGL 1.1, loaded in CPU (mesh); if OpenGL 3.3+ loaded in GPU (vaoId) typedef struct Model { VertexData mesh; unsigned int vaoId; @@ -282,6 +282,8 @@ int GetHexValue(Color color); // Returns hexadecim int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) Color Fade(Color color, float alpha); // Color fade-in or fade-out, alpha goes from 0.0 to 1.0 +void ShowLogo(); // Activates raylib logo at startup + //------------------------------------------------------------------------------------ // Input Handling Functions (Module: core) //------------------------------------------------------------------------------------ @@ -395,6 +397,7 @@ void DrawGizmoEx(Vector3 position, Vector3 rotation, float scale); Model LoadModel(const char *fileName); // Load a 3d model (.OBJ) //Model LoadModelFromRES(const char *rresName, int resId); // TODO: Load a 3d model from rRES file (raylib Resource) Model LoadHeightmap(Image heightmap, float maxHeight); // Load a heightmap image as a 3d model +Model LoadCubesmap(Image cubesmap); // Load a map image as a 3d model (cubes based) void UnloadModel(Model model); // Unload 3d model from memory void SetModelTexture(Model *model, Texture2D texture); // Link a texture to a model diff --git a/src/rlgl.c b/src/rlgl.c index 313a2f1c9..c181c7d6c 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -58,8 +58,6 @@ //#include "glad.h" // Other extensions loading lib? --> REVIEW -#define USE_VBO_DOUBLE_BUFFERS // Enable VBO double buffers usage --> REVIEW! - //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- @@ -77,7 +75,7 @@ typedef struct { int vCounter; int cCounter; float *vertices; // 3 components per vertex - float *colors; // 4 components per vertex + unsigned char *colors; // 4 components per vertex } VertexPositionColorBuffer; // Vertex buffer (position + texcoords + color arrays) @@ -88,7 +86,7 @@ typedef struct { int cCounter; float *vertices; // 3 components per vertex float *texcoords; // 2 components per vertex - float *colors; // 4 components per vertex + unsigned char *colors; // 4 components per vertex } VertexPositionColorTextureBuffer; // Vertex buffer (position + texcoords + normals arrays) @@ -110,7 +108,7 @@ typedef struct { int cCounter; float *vertices; // 3 components per vertex float *texcoords; // 2 components per vertex - float *colors; // 4 components per vertex + unsigned char *colors; // 4 components per vertex unsigned int *indices; // 6 indices per quad } VertexPositionColorTextureIndexBuffer; @@ -165,13 +163,6 @@ static GLuint linesBuffer[2]; static GLuint trianglesBuffer[2]; static GLuint quadsBuffer[4]; -#ifdef USE_VBO_DOUBLE_BUFFERS -// Double buffering -static GLuint vaoQuadsB; -static GLuint quadsBufferB[4]; -static bool useBufferB = false; -#endif - static DrawCall *draws; static int drawsCounter; @@ -566,7 +557,7 @@ void rlNormal3f(float x, float y, float z) } // Define one vertex (color) -void rlColor4f(float x, float y, float z, float w) +void rlColor4ub(byte x, byte y, byte z, byte w) { switch (currentDrawMode) { @@ -605,15 +596,15 @@ void rlColor4f(float x, float y, float z, float w) } // Define one vertex (color) -void rlColor4ub(byte r, byte g, byte b, byte a) +void rlColor4f(float r, float g, float b, float a) { - rlColor4f((float)r/255, (float)g/255, (float)b/255, (float)a/255); + rlColor4ub((byte)(r*255), (byte)(g*255), (byte)(b*255), (byte)(a*255)); } // Define one vertex (color) void rlColor3f(float x, float y, float z) { - rlColor4f(x, y, z, 1.0); + rlColor4ub((byte)(x*255), (byte)(y*255), (byte)(z*255), 255); } #endif @@ -826,48 +817,23 @@ void rlglClose() void rlglDraw() { + UpdateBuffers(); + glUseProgram(shaderProgram); // Use our shader glUniformMatrix4fv(projectionMatrixLoc, 1, false, GetMatrixVector(projection)); glUniformMatrix4fv(modelviewMatrixLoc, 1, false, GetMatrixVector(modelview)); glUniform1i(textureLoc, 0); - - UpdateBuffers(); - - if (lines.vCounter > 0) - { - glBindTexture(GL_TEXTURE_2D, whiteTexture); - - glBindVertexArray(vaoLines); - glDrawArrays(GL_LINES, 0, lines.vCounter); - - glBindTexture(GL_TEXTURE_2D, 0); - } - - if (triangles.vCounter > 0) - { - glBindTexture(GL_TEXTURE_2D, whiteTexture); - - glBindVertexArray(vaoTriangles); - glDrawArrays(GL_TRIANGLES, 0, triangles.vCounter); - - glBindTexture(GL_TEXTURE_2D, 0); - } + // NOTE: We draw in this order: textured quads, triangles shapes, lines + if (quads.vCounter > 0) { int quadsCount = 0; int numIndicesToProcess = 0; int indicesOffset = 0; -#ifdef USE_VBO_DOUBLE_BUFFERS - // Depending on useBufferB, use Buffer A or Buffer B - if (useBufferB) glBindVertexArray(vaoQuadsB); - else -#endif - { - glBindVertexArray(vaoQuads); - } + glBindVertexArray(vaoQuads); //TraceLog(DEBUG, "Draws required per frame: %i", drawsCounter); @@ -885,9 +851,30 @@ void rlglDraw() indicesOffset += draws[i].vertexCount/4*6; } + + glBindTexture(GL_TEXTURE_2D, 0); // Unbind textures + } + + if (triangles.vCounter > 0) + { + glBindTexture(GL_TEXTURE_2D, whiteTexture); + + glBindVertexArray(vaoTriangles); + glDrawArrays(GL_TRIANGLES, 0, triangles.vCounter); + + glBindTexture(GL_TEXTURE_2D, 0); + } + + if (lines.vCounter > 0) + { + glBindTexture(GL_TEXTURE_2D, whiteTexture); + + glBindVertexArray(vaoLines); + glDrawArrays(GL_LINES, 0, lines.vCounter); + + glBindTexture(GL_TEXTURE_2D, 0); } - glBindTexture(GL_TEXTURE_2D, 0); // Unbind textures glBindVertexArray(0); // Unbind VAO // Reset draws counter @@ -905,11 +892,6 @@ void rlglDraw() quads.vCounter = 0; quads.tcCounter = 0; quads.cCounter = 0; - - // TODO: Review double buffer performance -> no improvement! (?) -#ifdef USE_VBO_DOUBLE_BUFFERS - useBufferB = !useBufferB; // Change buffers usage! -#endif } #endif // End for OpenGL 3.3+ and ES2 only functions @@ -931,7 +913,7 @@ void rlglDrawModel(Model model, Vector3 position, Vector3 rotation, Vector3 scal glVertexPointer(3, GL_FLOAT, 0, model.mesh.vertices); // Pointer to vertex coords array glTexCoordPointer(2, GL_FLOAT, 0, model.mesh.texcoords); // Pointer to texture coords array glNormalPointer(GL_FLOAT, 0, model.mesh.normals); // Pointer to normals array - //glColorPointer(4, GL_UNSIGNED_BYTE, 0, model.colors); // Pointer to colors array (NOT USED) + //glColorPointer(4, GL_UNSIGNED_BYTE, 0, model.mesh.colors); // Pointer to colors array (NOT USED) //TraceLog(DEBUG, "Drawing model.mesh, VertexCount: %i", model.mesh.vertexCount); @@ -966,15 +948,36 @@ void rlglDrawModel(Model model, Vector3 position, Vector3 rotation, Vector3 scal glUniformMatrix4fv(projectionMatrixLoc, 1, false, GetMatrixVector(projection)); glUniformMatrix4fv(modelviewMatrixLoc, 1, false, GetMatrixVector(modelviewworld)); glUniform1i(textureLoc, 0); + + // Apply color tinting to model: 2 OPTIONS +/* + // OPTION 1 + // Update colors array (model.mesh.colors) with color + int j = 0; + for (int i = 0; i < model.mesh.vertexCount; i++) + { + model.mesh.colors[j] = color.r; + model.mesh.colors[j+1] = color.g; + model.mesh.colors[j+2] = color.b; + model.mesh.colors[j+3] = color.a; + j += 4; + } + + // Update colors buffer in CPU (using Shader) + glBindVertexArray(model.vaoId); + GLuint colorVboId; + glGetVertexAttribIuiv(2, GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, &colorVboId); // NOTE: Color VBO is buffer index 2 + glBindBuffer(GL_ARRAY_BUFFER, colorVboId); + glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(unsigned char)*4*model.mesh.vertexCount, model.mesh.colors); + + // OPTION 2: Just update one uniform on fragment shader + // NOTE: It requires shader modification to add uniform (fragment shader) and create location point + //glUniform4f(fragmentUniformColorLoc, (float)color.r/255, (float)color.g/255, (float)color.b/255, (float)color.a/255); +*/ //TraceLog(DEBUG, "ShaderProgram: %i, VAO ID: %i, VertexCount: %i", shaderProgram, model.vaoId, model.mesh.vertexCount); glBindVertexArray(model.vaoId); - - // TODO: Update vertex color - glBindBuffer(GL_ARRAY_BUFFER, linesBuffer[1]); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*4*model.mesh.vertexCount, model.mesh.colors); - glBindTexture(GL_TEXTURE_2D, model.textureId); glDrawArrays(GL_TRIANGLES, 0, model.mesh.vertexCount); @@ -989,8 +992,8 @@ void rlglDrawModel(Model model, Vector3 position, Vector3 rotation, Vector3 scal // Initialize Graphics Device (OpenGL stuff) void rlglInitGraphicsDevice(int fbWidth, int fbHeight) { - //glViewport(0, 0, fbWidth, fbHeight); // Set viewport width and height - // NOTE: Not required, viewport will be full window space + glViewport(0, 0, fbWidth, fbHeight); // Set viewport width and height + // NOTE: Required! viewport must be recalculated if screen resized! // NOTE: Don't confuse glViewport with the transformation matrix // NOTE: glViewport just defines the area of the context that you will actually draw to. @@ -1052,7 +1055,7 @@ unsigned int rlglLoadTexture(unsigned char *data, int width, int height, bool ge // Check if width and height are power-of-two (POT) if (((width > 0) && ((width & (width - 1)) == 0)) && ((height > 0) && ((height & (height - 1)) == 0))) texIsPOT = true; - if (!texIsPOT) + if (genMipmaps && !texIsPOT) { TraceLog(WARNING, "[ID %i] Texture is not power-of-two, mipmaps can not be generated", id); @@ -1194,26 +1197,29 @@ unsigned int rlglLoadModel(VertexData mesh) // Create buffers for our vertex data (positions, texcoords, normals) glGenBuffers(3, vertexBuffer); - // Enable vertex attributes + // Enable vertex attributes: position glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer[0]); glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*mesh.vertexCount, mesh.vertices, GL_STATIC_DRAW); glEnableVertexAttribArray(vertexLoc); glVertexAttribPointer(vertexLoc, 3, GL_FLOAT, 0, 0, 0); + // Enable vertex attributes: texcoords glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer[1]); glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*mesh.vertexCount, mesh.texcoords, GL_STATIC_DRAW); glEnableVertexAttribArray(texcoordLoc); glVertexAttribPointer(texcoordLoc, 2, GL_FLOAT, 0, 0, 0); + // Enable vertex attributes: normals //glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer[2]); //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*mesh.vertexCount, mesh.normals, GL_STATIC_DRAW); //glEnableVertexAttribArray(normalLoc); //glVertexAttribPointer(normalLoc, 3, GL_FLOAT, 0, 0, 0); + // Enable vertex attributes: colors glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer[2]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*mesh.vertexCount, mesh.colors, GL_STATIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(unsigned char)*4*mesh.vertexCount, mesh.colors, GL_STATIC_DRAW); glEnableVertexAttribArray(colorLoc); - glVertexAttribPointer(colorLoc, 4, GL_FLOAT, 0, 0, 0); + glVertexAttribPointer(colorLoc, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); if (vaoModel > 0) TraceLog(INFO, "[ID %i] Model uploaded successfully to VRAM (GPU)", vaoModel); else TraceLog(WARNING, "Model could not be uploaded to VRAM (GPU)"); @@ -1408,34 +1414,34 @@ static char *TextFileRead(char *fn) static void InitializeBuffers() { // Initialize lines arrays (vertex position and color data) - lines.vertices = (float *)malloc(sizeof(float)*3*2*MAX_LINES_BATCH); // 3 float by vertex, 2 vertex by line - lines.colors = (float *)malloc(sizeof(float)*4*2*MAX_LINES_BATCH); // 4 float by color, 2 colors by line + lines.vertices = (float *)malloc(sizeof(float)*3*2*MAX_LINES_BATCH); // 3 float by vertex, 2 vertex by line + lines.colors = (unsigned char *)malloc(sizeof(unsigned char)*4*2*MAX_LINES_BATCH); // 4 float by color, 2 colors by line for (int i = 0; i < (3*2*MAX_LINES_BATCH); i++) lines.vertices[i] = 0.0; - for (int i = 0; i < (4*2*MAX_LINES_BATCH); i++) lines.colors[i] = 0.0; + for (int i = 0; i < (4*2*MAX_LINES_BATCH); i++) lines.colors[i] = 0; lines.vCounter = 0; lines.cCounter = 0; // Initialize triangles arrays (vertex position and color data) - triangles.vertices = (float *)malloc(sizeof(float)*3*3*MAX_TRIANGLES_BATCH); // 3 float by vertex, 3 vertex by triangle - triangles.colors = (float *)malloc(sizeof(float)*4*3*MAX_TRIANGLES_BATCH); // 4 float by color, 3 colors by triangle + triangles.vertices = (float *)malloc(sizeof(float)*3*3*MAX_TRIANGLES_BATCH); // 3 float by vertex, 3 vertex by triangle + triangles.colors = (unsigned char *)malloc(sizeof(unsigned char)*4*3*MAX_TRIANGLES_BATCH); // 4 float by color, 3 colors by triangle for (int i = 0; i < (3*3*MAX_TRIANGLES_BATCH); i++) triangles.vertices[i] = 0.0; - for (int i = 0; i < (4*3*MAX_TRIANGLES_BATCH); i++) triangles.colors[i] = 0.0; + for (int i = 0; i < (4*3*MAX_TRIANGLES_BATCH); i++) triangles.colors[i] = 0; triangles.vCounter = 0; triangles.cCounter = 0; // Initialize quads arrays (vertex position, texcoord and color data... and indexes) - quads.vertices = (float *)malloc(sizeof(float)*3*4*MAX_QUADS_BATCH); // 3 float by vertex, 4 vertex by quad - quads.texcoords = (float *)malloc(sizeof(float)*2*4*MAX_QUADS_BATCH); // 2 float by texcoord, 4 texcoord by quad - quads.colors = (float *)malloc(sizeof(float)*4*4*MAX_QUADS_BATCH); // 4 float by color, 4 colors by quad - quads.indices = (unsigned int *)malloc(sizeof(int)*6*MAX_QUADS_BATCH); // 6 int by quad (indices) + quads.vertices = (float *)malloc(sizeof(float)*3*4*MAX_QUADS_BATCH); // 3 float by vertex, 4 vertex by quad + quads.texcoords = (float *)malloc(sizeof(float)*2*4*MAX_QUADS_BATCH); // 2 float by texcoord, 4 texcoord by quad + quads.colors = (unsigned char *)malloc(sizeof(unsigned char)*4*4*MAX_QUADS_BATCH); // 4 float by color, 4 colors by quad + quads.indices = (unsigned int *)malloc(sizeof(int)*6*MAX_QUADS_BATCH); // 6 int by quad (indices) for (int i = 0; i < (3*4*MAX_QUADS_BATCH); i++) quads.vertices[i] = 0.0; for (int i = 0; i < (2*4*MAX_QUADS_BATCH); i++) quads.texcoords[i] = 0.0; - for (int i = 0; i < (4*4*MAX_QUADS_BATCH); i++) quads.colors[i] = 0.0; + for (int i = 0; i < (4*4*MAX_QUADS_BATCH); i++) quads.colors[i] = 0; int k = 0; @@ -1475,9 +1481,9 @@ static void InitializeVAOs() // Lines - colors buffer glBindBuffer(GL_ARRAY_BUFFER, linesBuffer[1]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*2*MAX_LINES_BATCH, lines.colors, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(unsigned char)*4*2*MAX_LINES_BATCH, lines.colors, GL_DYNAMIC_DRAW); glEnableVertexAttribArray(colorLoc); - glVertexAttribPointer(colorLoc, 4, GL_FLOAT, 0, 0, 0); + glVertexAttribPointer(colorLoc, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); TraceLog(INFO, "[ID %i] Lines VAO initialized successfully", vaoLines); //-------------------------------------------------------------- @@ -1496,9 +1502,9 @@ static void InitializeVAOs() glVertexAttribPointer(vertexLoc, 3, GL_FLOAT, 0, 0, 0); glBindBuffer(GL_ARRAY_BUFFER, trianglesBuffer[1]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*3*MAX_TRIANGLES_BATCH, triangles.colors, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(unsigned char)*4*3*MAX_TRIANGLES_BATCH, triangles.colors, GL_DYNAMIC_DRAW); glEnableVertexAttribArray(colorLoc); - glVertexAttribPointer(colorLoc, 4, GL_FLOAT, 0, 0, 0); + glVertexAttribPointer(colorLoc, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); TraceLog(INFO, "[ID %i] Triangles VAO initialized successfully", vaoTriangles); //-------------------------------------------------------------- @@ -1522,46 +1528,15 @@ static void InitializeVAOs() glVertexAttribPointer(texcoordLoc, 2, GL_FLOAT, 0, 0, 0); glBindBuffer(GL_ARRAY_BUFFER, quadsBuffer[2]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*MAX_QUADS_BATCH, quads.colors, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, sizeof(unsigned char)*4*4*MAX_QUADS_BATCH, quads.colors, GL_DYNAMIC_DRAW); glEnableVertexAttribArray(colorLoc); - glVertexAttribPointer(colorLoc, 4, GL_FLOAT, 0, 0, 0); + glVertexAttribPointer(colorLoc, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, 0); // Fill index buffer glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, quadsBuffer[3]); glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(int)*6*MAX_QUADS_BATCH, quads.indices, GL_STATIC_DRAW); TraceLog(INFO, "[ID %i] Quads VAO initialized successfully", vaoQuads); - -#ifdef USE_VBO_DOUBLE_BUFFERS - // Initialize Quads VAO (Buffer B) - glGenVertexArrays(1, &vaoQuadsB); - glBindVertexArray(vaoQuadsB); - - // Create buffers for our vertex data - glGenBuffers(4, quadsBufferB); - - // Enable vertex attributes - glBindBuffer(GL_ARRAY_BUFFER, quadsBufferB[0]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*MAX_QUADS_BATCH, quads.vertices, GL_DYNAMIC_DRAW); - glEnableVertexAttribArray(vertexLoc); - glVertexAttribPointer(vertexLoc, 3, GL_FLOAT, 0, 0, 0); - - glBindBuffer(GL_ARRAY_BUFFER, quadsBufferB[1]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*MAX_QUADS_BATCH, quads.texcoords, GL_DYNAMIC_DRAW); - glEnableVertexAttribArray(texcoordLoc); - glVertexAttribPointer(texcoordLoc, 2, GL_FLOAT, 0, 0, 0); - - glBindBuffer(GL_ARRAY_BUFFER, quadsBufferB[2]); - glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*MAX_QUADS_BATCH, quads.colors, GL_DYNAMIC_DRAW); - glEnableVertexAttribArray(colorLoc); - glVertexAttribPointer(colorLoc, 4, GL_FLOAT, 0, 0, 0); - - // Fill index buffer - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, quadsBufferB[3]); - glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(int)*6*MAX_QUADS_BATCH, quads.indices, GL_STATIC_DRAW); - - TraceLog(INFO, "[ID %i] Second Quads VAO successfully initilized (double buffering)", vaoQuadsB); -#endif // Unbind the current VAO glBindVertexArray(0); @@ -1581,7 +1556,7 @@ static void UpdateBuffers() // Lines - colors buffer glBindBuffer(GL_ARRAY_BUFFER, linesBuffer[1]); //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*2*MAX_LINES_BATCH, lines.colors, GL_DYNAMIC_DRAW); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*4*lines.vCounter, lines.colors); + glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(unsigned char)*4*lines.cCounter, lines.colors); //-------------------------------------------------------------- @@ -1596,54 +1571,27 @@ static void UpdateBuffers() // Triangles - colors buffer glBindBuffer(GL_ARRAY_BUFFER, trianglesBuffer[1]); //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*3*MAX_TRIANGLES_BATCH, triangles.colors, GL_DYNAMIC_DRAW); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*4*triangles.cCounter, triangles.colors); + glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(unsigned char)*4*triangles.cCounter, triangles.colors); //-------------------------------------------------------------- - // Depending on useBufferB, update Buffer A or Buffer B -#ifdef USE_VBO_DOUBLE_BUFFERS - if (useBufferB) - { - // Activate Quads VAO (Buffer B) - glBindVertexArray(vaoQuadsB); - - // Quads - vertex positions buffer - glBindBuffer(GL_ARRAY_BUFFER, quadsBufferB[0]); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*MAX_QUADS_BATCH, quads.vertices, GL_DYNAMIC_DRAW); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*quads.vCounter, quads.vertices); + // Activate Quads VAO + glBindVertexArray(vaoQuads); + + // Quads - vertex positions buffer + glBindBuffer(GL_ARRAY_BUFFER, quadsBuffer[0]); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*MAX_QUADS_BATCH, quads.vertices, GL_DYNAMIC_DRAW); + glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*quads.vCounter, quads.vertices); - // Quads - texture coordinates buffer - glBindBuffer(GL_ARRAY_BUFFER, quadsBufferB[1]); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*MAX_QUADS_BATCH, quads.texcoords, GL_DYNAMIC_DRAW); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*quads.vCounter, quads.texcoords); - - // Quads - colors buffer - glBindBuffer(GL_ARRAY_BUFFER, quadsBufferB[2]); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*MAX_QUADS_BATCH, quads.colors, GL_DYNAMIC_DRAW); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*4*quads.vCounter, quads.colors); - } - else -#endif - { - // Activate Quads VAO (Buffer A) - glBindVertexArray(vaoQuads); - - // Quads - vertex positions buffer - glBindBuffer(GL_ARRAY_BUFFER, quadsBuffer[0]); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*3*4*MAX_QUADS_BATCH, quads.vertices, GL_DYNAMIC_DRAW); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*3*quads.vCounter, quads.vertices); - - // Quads - texture coordinates buffer - glBindBuffer(GL_ARRAY_BUFFER, quadsBuffer[1]); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*MAX_QUADS_BATCH, quads.texcoords, GL_DYNAMIC_DRAW); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*quads.vCounter, quads.texcoords); - - // Quads - colors buffer - glBindBuffer(GL_ARRAY_BUFFER, quadsBuffer[2]); - //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*MAX_QUADS_BATCH, quads.colors, GL_DYNAMIC_DRAW); - glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*4*quads.vCounter, quads.colors); - } + // Quads - texture coordinates buffer + glBindBuffer(GL_ARRAY_BUFFER, quadsBuffer[1]); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*2*4*MAX_QUADS_BATCH, quads.texcoords, GL_DYNAMIC_DRAW); + glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(float)*2*quads.vCounter, quads.texcoords); + // Quads - colors buffer + glBindBuffer(GL_ARRAY_BUFFER, quadsBuffer[2]); + //glBufferData(GL_ARRAY_BUFFER, sizeof(float)*4*4*MAX_QUADS_BATCH, quads.colors, GL_DYNAMIC_DRAW); + glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(unsigned char)*4*quads.vCounter, quads.colors); // Another option would be using buffer mapping... //triangles.vertices = glMapBuffer(GL_ARRAY_BUFFER, GL_READ_WRITE); diff --git a/src/rlgl.h b/src/rlgl.h index 61e6f8f3a..6ec54331b 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -65,7 +65,7 @@ typedef enum { RL_LINES, RL_TRIANGLES, RL_QUADS } DrawMode; float *vertices; // 3 components per vertex float *texcoords; // 2 components per vertex float *normals; // 3 components per vertex - float *colors; + unsigned char *colors; } VertexData; typedef struct Model { diff --git a/src/text.c b/src/text.c index 87205f672..c8b9f81d3 100644 --- a/src/text.c +++ b/src/text.c @@ -230,12 +230,14 @@ SpriteFont LoadSpriteFont(const char* fileName) // At this point we have a pixel array with all the data... + TraceLog(INFO, "[%s] SpriteFont image loaded: %i x %i", fileName, imgWidth, imgHeight); + // Process bitmap Font pixel data to get measures (Character array) // spriteFont.charSet data is filled inside the function and memory is allocated! int numChars = ParseImageData(imgDataPixel, imgWidth, imgHeight, &spriteFont.charSet); TraceLog(INFO, "[%s] SpriteFont data parsed correctly", fileName); - TraceLog(INFO, "[%s] SpriteFont num chars detected: %i", numChars); + TraceLog(INFO, "[%s] SpriteFont num chars detected: %i", fileName, numChars); spriteFont.numChars = numChars; diff --git a/src/textures.c b/src/textures.c index a21dd4bf7..4bd6378d5 100644 --- a/src/textures.c +++ b/src/textures.c @@ -100,26 +100,30 @@ Image LoadImage(const char *fileName) // Force loading to 4 components (RGBA) byte *imgData = stbi_load(fileName, &imgWidth, &imgHeight, &imgBpp, 4); - // Convert array to pixel array for working convenience - image.pixels = (Color *)malloc(imgWidth * imgHeight * sizeof(Color)); - - int pix = 0; - - for (int i = 0; i < (imgWidth * imgHeight * 4); i += 4) + if (imgData != NULL) { - image.pixels[pix].r = imgData[i]; - image.pixels[pix].g = imgData[i+1]; - image.pixels[pix].b = imgData[i+2]; - image.pixels[pix].a = imgData[i+3]; - pix++; + // Convert array to pixel array for working convenience + image.pixels = (Color *)malloc(imgWidth * imgHeight * sizeof(Color)); + + int pix = 0; + + for (int i = 0; i < (imgWidth * imgHeight * 4); i += 4) + { + image.pixels[pix].r = imgData[i]; + image.pixels[pix].g = imgData[i+1]; + image.pixels[pix].b = imgData[i+2]; + image.pixels[pix].a = imgData[i+3]; + pix++; + } + + stbi_image_free(imgData); + + image.width = imgWidth; + image.height = imgHeight; + + TraceLog(INFO, "[%s] Image loaded successfully", fileName); } - - stbi_image_free(imgData); - - image.width = imgWidth; - image.height = imgHeight; - - TraceLog(INFO, "[%s] Image loaded successfully", fileName); + else TraceLog(WARNING, "[%s] Image could not be loaded", fileName); } else if (strcmp(GetExtension(fileName),"dds") == 0) { diff --git a/tests/resources/cubesmap.png b/tests/resources/cubesmap.png new file mode 100644 index 0000000000000000000000000000000000000000..87b95d5067341865b05e034a184e9d92f8fb7b39 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=7>k44ofy`glX(e}Nq6*hWMJ6X z&;2Kn70Bl-@Q5sCVBk9p!i>lBSEK+1#Y$WwN`mv#O3D+9QW**oGxJLH@={9_O!N$_ zUwq93s!;HBaSV|NPiAQPufW5UVAjJZ-XO%mGmVK!;Q4