private double distanceRatio(ArrowEditor ae, Viewport viewport) { Point3d point = ae.getEditorOrigin(); Point3d cameraPoint = viewport.getPosition(); return cameraPoint.distance(point) * 480d / viewport.getHeight(); }
/** * Draws compass at left bottom corner of viewport. * * @param gl * gl * @param viewport * viewport */ public void drawAtLeftBottom(GL2 gl, Viewport viewport) { int distance = 70; Ray3d ray3d = viewport.picking(distance, viewport.getHeight() - distance); Point3d point = ray3d.getPoint(); Vector3d vector = ray3d.getVector(); vector.normalize(); vector.scale(1.5); point.add(vector); draw(gl, point); }
/** * Setup openGl view perspective. * * @param viewport * viewport with perspective configuration * @param gl * gl */ public static void reshapePerspective(Viewport viewport, GL2 gl) { // size of drawing area gl.glViewport(0, 0, viewport.getWidth(), viewport.getHeight()); // activate projection matrix gl.glMatrixMode(GLMatrixFunc.GL_PROJECTION); // load identity as projection gl.glLoadIdentity(); // setup projection perspective new GLU().gluPerspective(viewport.getFovy(), viewport.viewportAspectRatio(), viewport.getZNear(), viewport.getZFar()); } }
DrawUtil.begin2D(gl, viewport.getWidth(), viewport.getHeight());
double height = viewportProvider.getViewport().getHeight();