package tk.captainsplexx.Maths; import org.lwjgl.util.vector.Vector3f; public class RayCasting { public static void getRayPosition(Vector3f ray, Vector3f direction, float distance){ ray.x += distance * (float)Math.sin(Math.toRadians(direction.getY()));//yaw ray.y -= distance * (float)Math.tan(Math.toRadians(direction.getX()));//pitch ray.z -= distance * (float)Math.cos(Math.toRadians(direction.getY()));//yaw } public static Vector3f getRayPosition(Vector3f position, Vector3f direction, float distance, Vector3f target){ Vector3f ray = new Vector3f(position.x, position.y, position.z); ray.x += distance * (float)Math.sin(Math.toRadians(direction.getY()));//yaw ray.y -= distance * (float)Math.tan(Math.toRadians(direction.getX()));//pitch ray.z -= distance * (float)Math.cos(Math.toRadians(direction.getY()));//yaw if (target!=null){ target = ray; } return ray; } }