From 1bcb5ddd505e5c4bdac6f254e931e9c3145be88d Mon Sep 17 00:00:00 2001 From: victorfisac Date: Mon, 21 Dec 2015 17:25:22 +0100 Subject: Added lighting engine module - New lighting engine module which contains new data types Light and Material. These data types and functions facilitates making a basic 3D iluminated program with a light and a model. - Added lighting engine module example (currently included in raylib.h; it might be compiled by separate and include lighting.h in game source C file). - Corrected some opengl defines control structures and added some TODO to fix raylib-opengl 1.1 source build (note: now source can be compiled without errors, but rlglReadPixels() won't work properly). Note: most of functions of phong version 330 shader are not in v100 shaders, so I couldn't write a version 100 phong shader. These functions are included from version 150. --- src/rlgl.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/rlgl.c') diff --git a/src/rlgl.c b/src/rlgl.c index f9108342..8a0440e0 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -1094,6 +1094,7 @@ void rlglInit(void) // Modifies global variables: postproFbo, postproQuad void rlglInitPostpro(void) { +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) postproFbo = rlglLoadFBO(screenWidth, screenHeight); if (postproFbo.id > 0) @@ -1120,6 +1121,7 @@ void rlglInitPostpro(void) // NOTE: postproFbo.colorTextureId must be assigned to postproQuad model shader } +#endif } // Load a framebuffer object @@ -1195,11 +1197,13 @@ FBO rlglLoadFBO(int width, int height) // Unload framebuffer object void rlglUnloadFBO(FBO fbo) { +#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) glDeleteFramebuffers(1, &fbo.id); glDeleteTextures(1, &fbo.colorTextureId); glDeleteTextures(1, &fbo.depthTextureId); TraceLog(INFO, "[FBO ID %i] Unloaded framebuffer object successfully", fbo.id); +#endif } // Vertex Buffer Object deinitialization (memory free) @@ -1939,7 +1943,8 @@ void rlglGenerateMipmaps(unsigned int textureId) { #if defined(GRAPHICS_API_OPENGL_11) // Compute required mipmaps - void *data = rlglReadTexturePixels(textureId, UNCOMPRESSED_R8G8B8A8); // TODO: Detect internal format + // TODO: rlglReadTexturePixels() needs Texture2D type parameter, not unsigned int parameter + void *data; // = rlglReadTexturePixels(textureId, UNCOMPRESSED_R8G8B8A8); // TODO: Detect internal format // NOTE: data size is reallocated to fit mipmaps data int mipmapCount = GenerateMipmaps(data, width, height); -- cgit v1.2.3