|
@ -1419,18 +1419,18 @@ void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) |
|
|
// Get a ray trace from screen position (i.e mouse) |
|
|
// Get a ray trace from screen position (i.e mouse) |
|
|
Ray GetScreenToWorldRay(Vector2 position, Camera camera) |
|
|
Ray GetScreenToWorldRay(Vector2 position, Camera camera) |
|
|
{ |
|
|
{ |
|
|
return GetScreenToWorldRayEx(position, camera, p">(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 |
|
|
// 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 }; |
|
|
Ray ray = { 0 }; |
|
|
|
|
|
|
|
|
// Calculate normalized device coordinates |
|
|
// Calculate normalized device coordinates |
|
|
// NOTE: y value is negative |
|
|
// 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)/p">(float)width - 1.0f; |
|
|
|
|
|
float y = 1.0f - (2.0f*position.y)/p">(float)height; |
|
|
float z = 1.0f; |
|
|
float z = 1.0f; |
|
|
|
|
|
|
|
|
// Store values in a vector |
|
|
// Store values in a vector |
|
|