X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fe3d%2Frenderer%2Foctree%2FOctreeVolume.java;h=27b948888bbeb4fc18532bbac730d5c939945908;hb=ff13a51ec53b3d2ee1c9309152ed2b40366218b9;hp=c201609672e1246432416b384a4d258453b83b3f;hpb=b1e8d7bd8c9d0905e9fe3c46fc84a11779b95982;p=sixth-3d.git diff --git a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/OctreeVolume.java b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/OctreeVolume.java index c201609..27b9488 100755 --- a/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/OctreeVolume.java +++ b/src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/OctreeVolume.java @@ -1,12 +1,7 @@ /* - * Sixth 3D engine. Copyright ©2012-2017, 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; import eu.svjatoslav.sixth.e3d.renderer.octree.raytracer.Ray; @@ -31,13 +26,17 @@ import eu.svjatoslav.sixth.e3d.renderer.raster.shapes.basic.line.LineAppearance; public class OctreeVolume { + // cell is not hit by the ray public static final int TRACE_NO_HIT = -1; - /** - * Single solid color. - */ + + // solid cell (contains color and illumination) private static final int CELL_STATE_SOLID = -2; + + // unused cell private static final int CELL_STATE_UNUSED = -1; final LineAppearance factory = new LineAppearance(); + + public int ce1[]; public int ce2[]; public int ce3[]; @@ -411,8 +410,9 @@ public class OctreeVolume { } /** - * @return intersecting cell pointer or -1 if no cell in intersecting this - * ray. + * Trace ray through the world and return pointer to intersecting cell. + * + * @return pointer to intersecting cell or TRACE_NO_HIT if no intersection. */ public int traceCell(final int cellX, final int cellY, final int cellZ, final int cellSize, final int pointer, final Ray ray) {