diff options
| author | victorfisac <victorfisac@gmail.com> | 2016-05-30 19:18:11 +0200 |
|---|---|---|
| committer | victorfisac <victorfisac@gmail.com> | 2016-05-30 19:18:11 +0200 |
| commit | 2e26ce235d00fdc633559f9404ddd8ec70c96df7 (patch) | |
| tree | 69aa39306bf42ddd92de8cc3bec5c2f4d98aa81f /src/models.c | |
| parent | ae2d0d4cd8739c49b1a4e230e6f1ca4a8bdab319 (diff) | |
| download | raylib-2e26ce235d00fdc633559f9404ddd8ec70c96df7.tar.gz raylib-2e26ce235d00fdc633559f9404ddd8ec70c96df7.zip | |
Add Draw3DCircle function and update raylib and rlgl header
Draw3DCircle is useful to draw point lights radius.
Diffstat (limited to 'src/models.c')
| -rw-r--r-- | src/models.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/models.c b/src/models.c index 07dee720..6ffb561e 100644 --- a/src/models.c +++ b/src/models.c @@ -75,6 +75,25 @@ void Draw3DLine(Vector3 startPos, Vector3 endPos, Color color) rlEnd(); } +// Draw a circle in 3D world space +void Draw3DCircle(Vector3 center, float radius, float rotationAngle, Vector3 rotation, Color color) +{ + rlPushMatrix(); + rlTranslatef(center.x, center.y, center.z); + rlRotatef(rotationAngle, rotation.x, rotation.y, rotation.z); + + rlBegin(RL_LINES); + for (int i = 0; i < 360; i += 10) + { + rlColor4ub(color.r, color.g, color.b, color.a); + + rlVertex3f(sin(DEG2RAD*i)*radius, cos(DEG2RAD*i)*radius, 0.0f); + rlVertex3f(sin(DEG2RAD*(i + 10)) * radius, cos(DEG2RAD*(i + 10)) * radius, 0.0f); + } + rlEnd(); + rlPopMatrix(); +} + // Draw cube // NOTE: Cube position is the center position void DrawCube(Vector3 position, float width, float height, float length, Color color) |
