X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d-demos.git;a=blobdiff_plain;f=doc%2Findex.html;h=959ee663331c12e468b5d6dc70f7b69a94db2f7b;hp=680aad898d7a76e00bbf51b837452b90dac4b213;hb=da8f2647b4a28b9b2f1739f2fda955041f73663f;hpb=a936df46b9819a3b0b4dd173082a5523625277fa diff --git a/doc/index.html b/doc/index.html index 680aad8..959ee66 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,202 +1,569 @@ - - - + + - - - Sixth 3D engine demos - - + + + + + + + + + - -
-

Sixth 3D engine demos

-
-

Table of Contents

-
-
    -
  • 1. Description
  • +
    +

    Sixth 3D engine demos

    + +
    +

    1 General

    +
    + +
    + +
    +

    1.1 Source code

    +
    +
    -
    +
    + +
    +

    2 Overview

    +
    +

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

    + +

    +All example scenes in this repository render at interactive +framerates. +

    + +

    +Download runnable JAR file: sixth-3d-demos.jar +

    + +

    +To start demo application, use command: +

    +
    +java -jar sixth-3d-demos.jar
    +
    +
    +
    +
    + +
    +

    3 Navigating in space

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

    4 Example scenes in this repository

    +
    +
    +
    +

    4.1 Raytracing through voxels

    +
    + +
    +

    raytracing fractal in voxel polygon hybrid scene.png +

    +
    + +

    +Test scene that is generated simultaneously using: +

      -
    • This is a subproject of Sixth 3D
    • -
    • download latest snapshot
    • +
    • 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. +

    +
    +
    -
  • 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.
  • +
    +

    4.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. +

    -
  • Program author:
  • +
  • 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
+
+
-
  • other applications hosted at svjatoslav.eu
  • +
    +

    4.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 +
    -
    -

    1 Description

    -

    -Goal of this project is to show off capabilities of Sixth 3D engine. Also to -show examples of its usage. +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). +

    -
    -

    screenshots.png +

    +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. +
      • +
      +
    • +
    +
    +
    +

    4.4 Mathematical formulas

    +
    + +
    +

    mathematical formulas.png +

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

    4.5 Sinus heightmaps and sphere

    +
    + +
    +

    sinus heightmaps and sphere.png +

    +

    -Sample scenes rendered at interactive framerates by Sixth 3D engine. +Simple test scene. Easy to implement and looks nice.

    -
    -

    Author: Svjatoslav Agejenko

    -

    Created: 2016-08-23 Tue 09:35

    -

    Validate

    +
    +