aboutsummaryrefslogtreecommitdiff
path: root/src/models.c
diff options
context:
space:
mode:
authorJoshua Reisenauer <kd7tck@msn.com>2016-05-30 15:57:35 -0700
committerJoshua Reisenauer <kd7tck@msn.com>2016-05-30 15:57:35 -0700
commit78b4494e2bcf6922cac331008fd6235583ed7a27 (patch)
tree03c861d6268a9d50567a29a7b0b66804d917bb4d /src/models.c
parent6ad832386097d6301555490e94cf9cc2c882137d (diff)
parentcaa7bc366b949310fbb9c7eafbb9fa7050e1514a (diff)
downloadraylib-78b4494e2bcf6922cac331008fd6235583ed7a27.tar.gz
raylib-78b4494e2bcf6922cac331008fd6235583ed7a27.zip
Merge remote-tracking branch 'refs/remotes/raysan5/develop' into develop
Diffstat (limited to 'src/models.c')
-rw-r--r--src/models.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/models.c b/src/models.c
index 092a43fc..8c5ed914 100644
--- a/src/models.c
+++ b/src/models.c
@@ -569,6 +569,35 @@ void DrawGizmo(Vector3 position)
rlPopMatrix();
}
+
+// Draw light in 3D world
+void DrawLight(Light light)
+{
+ switch (light->type)
+ {
+ case LIGHT_POINT:
+ {
+ DrawSphereWires(light->position, 0.3f*light->intensity, 4, 8, (light->enabled ? light->diffuse : BLACK));
+ Draw3DCircle(light->position, light->radius, 0.0f, (Vector3){ 0, 0, 0 }, (light->enabled ? light->diffuse : BLACK));
+ Draw3DCircle(light->position, light->radius, 90.0f, (Vector3){ 1, 0, 0 }, (light->enabled ? light->diffuse : BLACK));
+ Draw3DCircle(light->position, light->radius, 90.0f, (Vector3){ 0, 1, 0 }, (light->enabled ? light->diffuse : BLACK));
+ } break;
+ case LIGHT_DIRECTIONAL:
+ {
+ Draw3DLine(light->position, light->target, (light->enabled ? light->diffuse : BLACK));
+ DrawSphereWires(light->position, 0.3f*light->intensity, 4, 8, (light->enabled ? light->diffuse : BLACK));
+ DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : BLACK));
+ } break;
+ case LIGHT_SPOT:
+ {
+ Draw3DLine(light->position, light->target, (light->enabled ? light->diffuse : BLACK));
+ DrawCylinderWires(light->position, 0.0f, 0.3f*light->coneAngle/50, 0.6f, 5, (light->enabled ? light->diffuse : BLACK));
+ DrawCubeWires(light->target, 0.3f, 0.3f, 0.3f, (light->enabled ? light->diffuse : BLACK));
+ } break;
+ default: break;
+ }
+}
+
// Load a 3d model (from file)
Model LoadModel(const char *fileName)
{