Sixth 3D engine demos
--
-
-
- This is a subproject of Sixth 3D which in turn is a subproject of
-Sixth.
++
Sixth 3D engine demos
++-Table of Contents
+ +- 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
++--
+
- This program is free software: released under Creative Commons Zero +(CC0) license
- Program author:
-
-
- Svjatoslav Agejenko - -
- Homepage: http://svjatoslav.eu - -
- Email: mailto://svjatoslav@svjatoslav.eu - +
- Svjatoslav Agejenko +
- Homepage: https://svjatoslav.eu +
- Email: mailto://svjatoslav@svjatoslav.eu +
+
+ - Other software projects hosted at svjatoslav.eu
- other applications hosted at svjatoslav.eu -
+++1.1 Source code
+++-
+
- Download latest snapshot in TAR GZ format + +
- Browse Git repository online + +
+Clone Git repository using command: +
++git clone https://www2.svjatoslav.eu/git/sixth-3d-demos.git +
++ +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
++++ + +
++ + ++ + + + + + +key +result ++ + +cursor keys +move: left, right, forward, backward ++ + +mouse scroll wheel +move: up, down ++ + +dragging with mouse +look around +++4 Example scenes in this repository
+++++ +4.1 Raytracing through voxels
++ ++++ ++
++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. +
+
+ - Game rules:
+
++ ++
++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: +
++ + +
++ + ++ + + + + + +key +result ++ + +mouse click on the cell (cell) +toggles cell state ++ + +<space> +next iteration ++ + +ENTER +next iteeration with the history ++ + +"c" +clear the matrix +++4.3 Text editors
++ +- ++-+
+--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 +
-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. +
+ - Improve focus handling:
+
++4.5 Sinus heightmaps and sphere
++ ++++ ++
++Simple test scene. Easy to implement and looks nice. +
+++Created: 2021-05-29 Sat 02:31
+ +