summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorUneven Prankster <[email protected]>2021-09-21 10:22:30 -0300
committerGitHub <[email protected]>2021-09-21 15:22:30 +0200
commit339fdf4c310c3076c6d95eff7383bd88c45a719c (patch)
treeef12a2f849a9676c515b4ace94ed27485b13a184 /src
parentc96de3a23a616030c787daf8df3593ae0f8a7aaf (diff)
downloadraylib-339fdf4c310c3076c6d95eff7383bd88c45a719c.tar.gz
raylib-339fdf4c310c3076c6d95eff7383bd88c45a719c.zip
Add `up` argument to `DrawBillboardPro` (#1941)
* Add `up` argument to `DrawBillboardPro` * Replace tab with proper spaces
Diffstat (limited to 'src')
-rw-r--r--src/models.c10
-rw-r--r--src/raylib.h2
2 files changed, 6 insertions, 6 deletions
diff --git a/src/models.c b/src/models.c
index 6caeee14..b8221498 100644
--- a/src/models.c
+++ b/src/models.c
@@ -3098,10 +3098,13 @@ void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float siz
// Draw a billboard (part of a texture defined by a rectangle)
void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint)
{
- DrawBillboardPro(camera, texture, source, position, size, Vector2Zero(), 0.0f, tint);
+ // NOTE: Billboard locked on axis-Y
+ Vector3 up = { 0.0f, 1.0f, 0.0f };
+
+ DrawBillboardPro(camera, texture, source, position, up, size, Vector2Zero(), 0.0f, tint);
}
-void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Vector2 origin, float rotation, Color tint)
+void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint)
{
// NOTE: Billboard size will maintain source rectangle aspect ratio, size will represent billboard width
Vector2 sizeRatio = { size.y, size.x*(float)source.height/source.width };
@@ -3111,9 +3114,6 @@ void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector
Vector3 right = { matView.m0, matView.m4, matView.m8 };
//Vector3 up = { matView.m1, matView.m5, matView.m9 };
- // NOTE: Billboard locked on axis-Y
- Vector3 up = { 0.0f, 1.0f, 0.0f };
-
Vector3 rightScaled = Vector3Scale(right, sizeRatio.x/2);
Vector3 upScaled = Vector3Scale(up, sizeRatio.y/2);
diff --git a/src/raylib.h b/src/raylib.h
index bb698a45..fba8e513 100644
--- a/src/raylib.h
+++ b/src/raylib.h
@@ -1403,7 +1403,7 @@ RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis,
RLAPI void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires)
RLAPI void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float size, Color tint); // Draw a billboard texture
RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint); // Draw a billboard texture defined by source
-RLAPI void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Vector2 origin, float rotation, Color tint); // Draw a billboard texture defined by source and rotation
+RLAPI void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint); // Draw a billboard texture defined by source and rotation
// Mesh management functions
RLAPI void UploadMesh(Mesh *mesh, bool dynamic); // Upload mesh vertex data in GPU and provide VAO/VBO ids