X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d-demos.git;a=blobdiff_plain;f=doc%2Findex.html;h=db7078a803aaca27eb44eecdcbeecbf548ecfb10;hp=6423947cf76af784158a083e910fb85d1a2fffa4;hb=151ac55eaaa0f3a2d7a589a0a3ff877b6db09a6f;hpb=3faa9ebcc7e643181ec70a26a69ba1dbd40e6ab6 diff --git a/doc/index.html b/doc/index.html index 6423947..db7078a 100644 --- a/doc/index.html +++ b/doc/index.html @@ -2,7 +2,7 @@ Sixth 3D engine demos - + @@ -226,35 +226,296 @@ published by the Free Software Foundation.
-

1 Description

+

1 Overview

-Goal of this project is to show off capabilities of Sixth 3D -engine. Also to show examples of its usage. +Goal of this project is to show off capabilities and API usage of +Sixth 3D engine.

+

+All sample scenes below are rendered at interactive framerates. +

+
+
+
+

2 Navigating in space

+
+ + + +++ ++ + + + + + + + + + + + + + + + + + + + + + + +
keyresult
cursor keysmove: left, right, forward, backward
mouse scroll wheelmove: up, down
dragging with mouselook around
+
+
+ +
+

3 Samples

+
+
+

3.1 Raytracing through voxels

+
-

screenshots.png +

raytracing fractal in voxel polygon hybrid scene.png

-Sample scenes rendered at interactive framerates by Sixth 3D engine. +Test scene that is generated simultaneously using: +

+
    +
  • conventional polygons +
      +
    • for realtime navigation, and +
    • +
    +
  • +
  • voxels +
      +
    • for on-demand raytracing +
    • +
    +
  • +
+ +

+Instead of storing voxels in dumb [X * Y * Z] array, dynamically +partitioned octree is used to compress data. Press "r" key anywhere in +the scene to raytrace current view through compressed voxel +datastructure.

+ +
+

3.2 Conway's Game of Life

+
+

+The Game of Life, also known simply as Life, is a cellular automaton +devised by the British mathematician John Horton Conway in 1970. +

+ +
    +
  • https://en.wikipedia.org/wiki/Conway's_Game_of_Life +
      +
    • Game rules: +
        +
      • 2 cell states: alive / dead +
      • +
      • Each cell sees 8 neighboring cells. +
      • +
      • If alive cell neighbors count is 2 or 3, then cell survives, +otherwise it dies. +
      • +
      • Dead cell becomes alive if neighbors count is exactly 3. +
      • +
      +
    • +
    +
  • +
+ + +
+

life.png +

+
+ +

+Current application projects 2D game grid/matrix onto three +dimensional space. Extra dimension (height) is used to visualize +history (previous iterations) using glowing dots suspended in space. +

+ +

+Usage: +

+ + + +++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
keyresult
mouse click on the cell (cell)toggles cell state
<space>next iteration
ENTERnext iteeration with the history
"c"clear the matrix
+
+
+ +
+

3.3 Text editors

+
+ +
+

text editors.png +

+
+ +

+Initial test for creating user interfaces in 3D and: +

+
    +
  • window focus handling +
  • +
  • picking objecs using mouse +
  • +
  • redirecting keyboard input to focused window +
  • +
+ + +

+Window focus acts like a stack. +

+ +

+When window is clicked with the mouse, previously focused window (if +any) is pushed to the focus stack and new window receives focus. Red +frame appears around the window to indicate this. +

+ +

+When ESC key is pressed, window focus is returned to previous window +(if any). +

+ +

+When any window is focused, all keyboard input is redirected to that +window, including cursor keys. To be able to navigate around the world +again, window must be unfocused first using ESC key. +

+ + +
    +
  • TODO: +
      +
    • Improve focus handling: +
        +
      • Perhaps add shortcut to navigate world without exiting entire +stack of focus. +
      • +
      • Possibility to retain and reuse recently focused elements. +
      • +
      • Store user location in the world and view direction with the +focused window. So that when returning focus to far away object, +user is redirected also to proper location in the world. +
      • +
      +
    • +
    • Possibility to store recently visited locations in the world and +return to them. +
    • +
    +
  • +
+
+
+
+

3.4 Mathematical formulas

+
+ +
+

mathematical formulas.png +

+
+ +
    +
  • TODO: instead of projecting 2D visualizations onto 3D space, +visualize some formula using all 3 dimensions avaliable. +
  • +
+
+
+
+

3.5 Sinus heightmaps and sphere

+
+ +
+

sinus heightmaps and sphere.png +

+
+ +

+Simple test scene. Easy to implement and looks nice. +

+
+
+