diff options
| author | Ray <[email protected]> | 2024-04-03 20:10:15 +0200 |
|---|---|---|
| committer | Ray <[email protected]> | 2024-04-03 20:10:15 +0200 |
| commit | d30cfea82da302b394006b45e80707f90ad1a956 (patch) | |
| tree | b1e8c4fb77e44f78c5b5263b4052caf765d7a905 | |
| parent | 9070eb9a132a4404e7d5247ff7bd2d2c2d77f3ad (diff) | |
| download | raylib-d30cfea82da302b394006b45e80707f90ad1a956.tar.gz raylib-d30cfea82da302b394006b45e80707f90ad1a956.zip | |
REVIEWED: `GetScreenToWorldRayEx()`
| -rw-r--r-- | src/raylib.h | 2 | ||||
| -rw-r--r-- | src/rcore.c | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/raylib.h b/src/raylib.h index edf4f138..e351d33f 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -1051,7 +1051,7 @@ RLAPI void UnloadShader(Shader shader); // Un // Screen-space-related functions #define GetMouseRay GetScreenToWorldRay // Compatibility hack for previous raylib versions RLAPI Ray GetScreenToWorldRay(Vector2 position, Camera camera); // Get a ray trace from screen position (i.e mouse) -RLAPI Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, float width, float height); // Get a ray trace from screen position (i.e mouse) in a viewport +RLAPI Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height); // Get a ray trace from screen position (i.e mouse) in a viewport RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position RLAPI Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position diff --git a/src/rcore.c b/src/rcore.c index 3645c617..9705495e 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -1419,18 +1419,18 @@ void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) // Get a ray trace from screen position (i.e mouse) Ray GetScreenToWorldRay(Vector2 position, Camera camera) { - return GetScreenToWorldRayEx(position, camera, (float)GetScreenWidth(), (float)GetScreenHeight()); + return GetScreenToWorldRayEx(position, camera, GetScreenWidth(), GetScreenHeight()); } // Get a ray trace from the screen position (i.e mouse) within a specific section of the screen -Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, float width, float height) +Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height) { Ray ray = { 0 }; // Calculate normalized device coordinates // NOTE: y value is negative - float x = (2.0f*position.x)/width - 1.0f; - float y = 1.0f - (2.0f*position.y)/height; + float x = (2.0f*position.x)/(float)width - 1.0f; + float y = 1.0f - (2.0f*position.y)/(float)height; float z = 1.0f; // Store values in a vector |
