X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Frenderer%2Foctree%2Fraytracer%2FCameraView.java;h=ed0b0375e4d4fa989e50bcfd320648ea572881f3;hb=dad067ef848d1488f8d048eb4323ebbcb1bae761;hp=cf342935dac2624d941c3df51bfc71e4bccb5301;hpb=dcdff57f0bab42387b2e4e215778d9e8efc60221;p=sixth-3d.git diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/CameraView.java b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/CameraView.java index cf34293..ed0b037 100644 --- a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/CameraView.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/CameraView.java @@ -1,12 +1,7 @@ /* - * Sixth 3D engine. Copyright ©2012-2018, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 3 of the GNU Lesser General Public License - * or later as published by the Free Software Foundation. - * + * Sixth 3D engine. Author: Svjatoslav Agejenko. + * This project is released under Creative Commons Zero (CC0) license. */ - package eu.svjatoslav.sixth.e3d.renderer.octree.raytracer; import eu.svjatoslav.sixth.e3d.geometry.Point3D; @@ -14,36 +9,36 @@ import eu.svjatoslav.sixth.e3d.gui.Avatar; public class CameraView { - Point3D camCenter; - Point3D upLeft; - Point3D upRight; - Point3D downLeft; - Point3D downRight; + Point3D cameraCenter; + Point3D topLeft; + Point3D topRight; + Point3D bottomLeft; + Point3D bottomRight; public CameraView(final Avatar avatar, final double zoom) { computeCameraCoordinates(avatar, zoom); } private void computeCameraCoordinates(final Avatar avatar, final double zoom) { - camCenter = new Point3D(avatar.getLocation()).scaleDown(zoom); + cameraCenter = new Point3D(avatar.getLocation()).scaleDown(zoom); - upLeft = new Point3D(camCenter.x, camCenter.y, camCenter.z - + Camera.CAMERA_SIZE); - upRight = new Point3D(upLeft); - downLeft = new Point3D(upLeft); - downRight = new Point3D(upLeft); + topLeft = new Point3D(cameraCenter.x, cameraCenter.y, cameraCenter.z + + Camera.SIZE); + topRight = new Point3D(topLeft); + bottomLeft = new Point3D(topLeft); + bottomRight = new Point3D(topLeft); final float viewAngle = (float) .6; - upLeft.rotate(camCenter, -viewAngle, -viewAngle); - upRight.rotate(camCenter, viewAngle, -viewAngle); - downLeft.rotate(camCenter, -viewAngle, viewAngle); - downRight.rotate(camCenter, viewAngle, viewAngle); + topLeft.rotate(cameraCenter, -viewAngle, -viewAngle); + topRight.rotate(cameraCenter, viewAngle, -viewAngle); + bottomLeft.rotate(cameraCenter, -viewAngle, viewAngle); + bottomRight.rotate(cameraCenter, viewAngle, viewAngle); - upLeft.rotate(camCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ()); - upRight.rotate(camCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ()); - downLeft.rotate(camCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ()); - downRight.rotate(camCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ()); + topLeft.rotate(cameraCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ()); + topRight.rotate(cameraCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ()); + bottomLeft.rotate(cameraCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ()); + bottomRight.rotate(cameraCenter, -avatar.getAngleXZ(), -avatar.getAngleYZ()); } }