mirror of
https://github.com/raysan5/raylib.git
synced 2025-09-27 13:38:30 +00:00
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.
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user