aboutsummaryrefslogtreecommitdiff
path: root/src/rlgl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rlgl.c')
-rw-r--r--src/rlgl.c38
1 files changed, 7 insertions, 31 deletions
diff --git a/src/rlgl.c b/src/rlgl.c
index 0f68953e..97a92a4d 100644
--- a/src/rlgl.c
+++ b/src/rlgl.c
@@ -1069,6 +1069,13 @@ void rlglClose(void)
// Delete default white texture
glDeleteTextures(1, &whiteTexture);
TraceLog(INFO, "[TEX ID %i] Unloaded texture data (base white texture) from VRAM", whiteTexture);
+
+ // Unload lights
+ if (lightsCount > 0)
+ {
+ for (int i = 0; i < lightsCount; i++) free(lights[i]);
+ lightsCount = 0;
+ }
free(draws);
#endif
@@ -2292,37 +2299,6 @@ Light CreateLight(int type, Vector3 position, Color diffuse)
return light;
}
-// Draw all created lights in 3D world
-void DrawLights(void)
-{
- for (int i = 0; i < lightsCount; i++)
- {
- switch (lights[i]->type)
- {
- case LIGHT_POINT:
- {
- DrawSphereWires(lights[i]->position, 0.3f*lights[i]->intensity, 4, 8, (lights[i]->enabled ? lights[i]->diffuse : BLACK));
- Draw3DCircle(lights[i]->position, lights[i]->radius, 0.0f, (Vector3){ 0, 0, 0 }, (lights[i]->enabled ? lights[i]->diffuse : BLACK));
- Draw3DCircle(lights[i]->position, lights[i]->radius, 90.0f, (Vector3){ 1, 0, 0 }, (lights[i]->enabled ? lights[i]->diffuse : BLACK));
- Draw3DCircle(lights[i]->position, lights[i]->radius, 90.0f, (Vector3){ 0, 1, 0 }, (lights[i]->enabled ? lights[i]->diffuse : BLACK));
- } break;
- case LIGHT_DIRECTIONAL:
- {
- Draw3DLine(lights[i]->position, lights[i]->target, (lights[i]->enabled ? lights[i]->diffuse : BLACK));
- DrawSphereWires(lights[i]->position, 0.3f*lights[i]->intensity, 4, 8, (lights[i]->enabled ? lights[i]->diffuse : BLACK));
- DrawCubeWires(lights[i]->target, 0.3f, 0.3f, 0.3f, (lights[i]->enabled ? lights[i]->diffuse : BLACK));
- } break;
- case LIGHT_SPOT:
- {
- Draw3DLine(lights[i]->position, lights[i]->target, (lights[i]->enabled ? lights[i]->diffuse : BLACK));
- DrawCylinderWires(lights[i]->position, 0.0f, 0.3f*lights[i]->coneAngle/50, 0.6f, 5, (lights[i]->enabled ? lights[i]->diffuse : BLACK));
- DrawCubeWires(lights[i]->target, 0.3f, 0.3f, 0.3f, (lights[i]->enabled ? lights[i]->diffuse : BLACK));
- } break;
- default: break;
- }
- }
-}
-
// Destroy a light and take it out of the list
void DestroyLight(Light light)
{