aboutsummaryrefslogtreecommitdiff
path: root/src/rlgl.c
diff options
context:
space:
mode:
authorvictorfisac <victorfisac@gmail.com>2015-12-21 17:25:22 +0100
committervictorfisac <victorfisac@gmail.com>2015-12-21 17:25:22 +0100
commit1bcb5ddd505e5c4bdac6f254e931e9c3145be88d (patch)
treec71c012feda413d4134a4dd8ac5e7e2bd45b9c61 /src/rlgl.c
parent4db2da91850fcc55ec08df253e533e236eb91451 (diff)
downloadraylib-1bcb5ddd505e5c4bdac6f254e931e9c3145be88d.tar.gz
raylib-1bcb5ddd505e5c4bdac6f254e931e9c3145be88d.zip
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.
Diffstat (limited to 'src/rlgl.c')
-rw-r--r--src/rlgl.c7
1 files changed, 6 insertions, 1 deletions
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);