Fixed git clone URL
[sixth-3d.git] / doc / index.org
index b164b18..3fb3f08 100644 (file)
 #+HTML_HEAD: </style>
 
 * General
-- This is a subproject of [[https://www3.svjatoslav.eu/projects/sixth/][Sixth]]
-
-- This program is free software: you can redistribute it and/or modify
-  it under the terms of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] as
-  published by the Free Software Foundation, either version 3 of the
-  License, or (at your option) any later version.
+- This program is free software: released under Creative Commons Zero
+  (CC0) license
 
 - Program author:
   - Svjatoslav Agejenko
@@ -31,7 +27,7 @@
 - [[https://www2.svjatoslav.eu/gitweb/?p=sixth-3d.git;a=summary][Browse Git repository online]]
 
 - Clone Git repository using command:
-  : git clone https://www2.svjatoslav.eu/git/sixth-3d.git
+  : git clone https://www3.svjatoslav.eu/git/sixth-3d.git
 
 - See [[https://www3.svjatoslav.eu/projects/sixth-3d/apidocs/][JavaDoc]].
 
@@ -105,7 +101,7 @@ Maven *pom.xml* file snippet:
     <dependency>
         <groupId>eu.svjatoslav</groupId>
         <artifactId>sixth-3d</artifactId>
-        <version>1.1</version>
+        <version>1.2</version>
     </dependency>
     ...
 </dependencies>
@@ -115,7 +111,7 @@ Maven *pom.xml* file snippet:
     <repository>
         <id>svjatoslav.eu</id>
         <name>Svjatoslav repository</name>
-        <url>http://www2.svjatoslav.eu/maven/</url>
+        <url>http://www3.svjatoslav.eu/maven/</url>
     </repository>
     ...
 </repositories>
@@ -123,6 +119,11 @@ Maven *pom.xml* file snippet:
 
 For API usage examples, see [[https://www3.svjatoslav.eu/projects/sixth-3d-demos/][demos]].
 * TODO features to add
++ read this as example, and apply improvements/fixes where applicable:
+  http://blog.rogach.org/2015/08/how-to-create-your-own-simple-3d-render.html
+
++ Improve triangulation. Read: https://ianthehenry.com/posts/delaunay/
+
 + Partial region/frame repaint: when only one small object changed on
   the scene, it would be faster to re-render that specific area.
 
@@ -133,30 +134,29 @@ For API usage examples, see [[https://www3.svjatoslav.eu/projects/sixth-3d-demos
 + Antialiazing. Would improve text readability. If antialiazing is too
   expensive for every frame, it could be used only for last frame
   before animations become still and waiting for user input starts.
+** Render only visible polygons
++ This would significantly reduce RAM <-> CPU traffic.
 
-+ Render only visible polygons.
-  + This would significantly reduce RAM <-> CPU traffic.
-
-  + General algorithm description:
-    + For each horizontal scanline:
-      + sort polygon edges from left to right
-      + while iterating and drawing pixels over screen X axis (left to
-        right) track next appearing/disappearing polygons.
-        + For each polygon edge update Z sorted active polygons list.
-        + Only draw pixel from the top-most polygon.
-          + Only if polygon area is transparent/half-transparent add
-            colors from the polygons below.
++ General algorithm description:
+  + For each horizontal scanline:
+    + sort polygon edges from left to right
+    + while iterating and drawing pixels over screen X axis (left to
+      right) track next appearing/disappearing polygons.
+      + For each polygon edge update Z sorted active polygons list.
+      + Only draw pixel from the top-most polygon.
+        + Only if polygon area is transparent/half-transparent add
+          colors from the polygons below.
 
-  + As a bonus, this would allow to track which polygons are really
-    visible in the final scene for each frame.
++ As a bonus, this would allow to track which polygons are really
+  visible in the final scene for each frame.
 
-    + Such information allows further optimizations:
+  + Such information allows further optimizations:
 
-      + Dynamic geometry simplification:
-        + Dynamically detect and replace invisible objects from the
-          scene with simplified bounding box.
+    + Dynamic geometry simplification:
+      + Dynamically detect and replace invisible objects from the
+        scene with simplified bounding box.
 
-        + Dynamically replace boudnig box with actual object once it
-          becomes visible.
+      + Dynamically replace boudnig box with actual object once it
+        becomes visible.
 
-      + Dynamically unload unused textures from RAM.
+    + Dynamically unload unused textures from RAM.