X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d-demos.git;a=blobdiff_plain;f=doc%2Findex.html;h=a1dd806bba70a883430aa13b8c869df8fe5e45ca;hp=58ffedfc7bf75a592e4d228560e6cb89b6ded39b;hb=fd099c489d7f4df2624c07d1d3ba24f658b147a7;hpb=a608c900b05f80516f0972d06098067d32544430 diff --git a/doc/index.html b/doc/index.html index 58ffedf..a1dd806 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,262 +1,555 @@ - - + + + + + + Sixth 3D engine demos - - - - - - - -" + + - + -
-

Sixth 3D engine demos

-
-
    -
  • This is a subproject of Sixth 3D which in turn is a subproject of -Sixth. +
  • 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. -
  • +
    +

    1 General

    +
    + - +
    -
  • other applications hosted at svjatoslav.eu -
  • +
    +

    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: +

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

    +
    +
    + +
    +

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

    + +
      +
    • https://en.wikipedia.org/wiki/Conway%27s_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
    +
    +
    + +
    +

    4.3 Text editors

    +
    + +
    +

    text editors.png +

    +
    -
    -

    1 Description

    -

    -Goal of this project is to show off capabilities of Sixth 3D -engine. Also to show examples of its usage. +Initial test for creating user interfaces in 3D and:

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

    screenshots.png +

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

    -

    -Sample scenes rendered at interactive framerates by Sixth 3D engine. +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.
      • +
    • +
    -
    -
    -
    -

    Author: Svjatoslav Agejenko

    -

    Created: 2017-06-13 Tue 08:13

    -

    Emacs 25.1.1 (Org-mode 8.2.10)

    -
    +
    +

    4.5 Sinus heightmaps and sphere

    +
    + +
    +

    sinus heightmaps and sphere.png +

    +
    + +

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

    +
    +
    +
+
+
+

Author: Svjatoslav Agejenko

+

Created: 2021-05-29 Sat 02:31

+

Validate

+