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=c2acb88f8fb470380a8a20c248a4227f95f7d8ab;hb=a3ff3683bd0a025061667b26b6fcf56fe20f0afc;hp=c53ae53824afe81c08f918a74824ca75aec1b934;hpb=6b9b5a6b70397f3cea7b965a54aaacc03cdae4f7;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 c53ae53..c2acb88 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,5 +1,5 @@ /* - * Sixth 3D engine. Author: Svjatoslav Agejenko. + * Sixth 3D engine. Author: Svjatoslav Agejenko. * This project is released under Creative Commons Zero (CC0) license. */ package eu.svjatoslav.sixth.e3d.renderer.octree.raytracer; @@ -9,27 +9,24 @@ import eu.svjatoslav.sixth.e3d.gui.Avatar; import static eu.svjatoslav.sixth.e3d.renderer.octree.raytracer.Camera.SIZE; +/** + * Represents camera view. Used to compute direction of rays during ray tracing. + */ public class CameraView { - Point3D cameraCenter; - Point3D topLeft; - Point3D topRight; - Point3D bottomLeft; - Point3D bottomRight; + /** + * Camera view coordinates. + */ + Point3D cameraCenter, topLeft, topRight, bottomLeft, bottomRight; public CameraView(final Avatar avatar, final double zoom) { - computeCameraCoordinates(avatar, zoom); - } - - private void computeCameraCoordinates(final Avatar avatar, final double zoom) { - // compute camera view coordinates as if camera is at (0,0,0) and look at (0,0,1) final float viewAngle = (float) .6; cameraCenter = new Point3D(); - topLeft = new Point3D(0,0, SIZE).rotate(-viewAngle, -viewAngle); - topRight = new Point3D(0,0, SIZE).rotate(viewAngle, -viewAngle); - bottomLeft = new Point3D(0,0,SIZE).rotate(-viewAngle, viewAngle); - bottomRight = new Point3D(0,0,SIZE).rotate(viewAngle, viewAngle); + topLeft = new Point3D(0, 0, SIZE).rotate(-viewAngle, -viewAngle); + topRight = new Point3D(0, 0, SIZE).rotate(viewAngle, -viewAngle); + bottomLeft = new Point3D(0, 0, SIZE).rotate(-viewAngle, viewAngle); + bottomRight = new Point3D(0, 0, SIZE).rotate(viewAngle, viewAngle); topLeft.rotate(-avatar.getAngleXZ(), -avatar.getAngleYZ()); topRight.rotate(-avatar.getAngleXZ(), -avatar.getAngleYZ());