| 
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -1406,21 +1406,21 @@ void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// Module Functions Definition: Screen-space Queries | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			//---------------------------------------------------------------------------------- | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// Get a ray trace from mouse position | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			Ray GetScreenToWorldRay(Vector2 mousePosition, Camera camera) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// Get a ray trace from screen position (i.e mouse) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			Ray GetScreenToWorldRay(Vector2 position, Camera camera) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			{ | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    return GetScreenToWorldRayEx(mousePosition, camera, (float)GetScreenWidth(), (float)GetScreenHeight()); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    return GetScreenToWorldRayEx(position, camera, (float)GetScreenWidth(), (float)GetScreenHeight()); | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			} | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// Get a ray trace from the mouse position within a specific section of the screen | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			Ray GetScreenToWorldRayEx(Vector2 mousePosition, Camera camera, float width, float height) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			// 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 ray = { 0 }; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    // Calculate normalized device coordinates | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    // NOTE: y value is negative | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    float x = (2.0f*mousePosition.x)/width - 1.0f; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    float y = 1.0f - (2.0f*mousePosition.y)/height; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    float x = (2.0f*position.x)/width - 1.0f; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    float y = 1.0f - (2.0f*position.y)/height; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    float z = 1.0f; | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    // Store values in a vector | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
				
				 | 
			
			 | 
			
			
 |