1 #+TITLE: Sixth 3D engine demos
4 - This is a subproject of [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d/doc/index.html][Sixth 3D]]
5 - [[http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]]
7 - This program is free software; you can redistribute it and/or modify it under
8 the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] or later as
9 published by the Free Software Foundation.
13 - Homepage: http://svjatoslav.eu
14 - Email: mailto://svjatoslav@svjatoslav.eu
16 - [[http://svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]]
20 [[http://www2.svjatoslav.eu/gitbrowse/sixth/doc/screenshots/index.html][http://www2.svjatoslav.eu/gitbrowse/sixth/doc/screenshots.png]]
23 Sample scenes rendered at interactive framerates by Sixth 3D engine.
26 Sixth is presently in research / prototyping and ideas collecting
27 phase. Some working parts are already implemented, and can be run as a
28 demo or as a library in other projects, if you are computer
29 programmer. System is far from being useful for non programmers (Pre
33 Implemented and working features:
34 - First layer of storage: Simple persistent key-value map.
35 - In software, pure Java realtime 3D rendering engine.
38 [[http://www2.svjatoslav.eu/gitbrowse/sixth/doc/applet.html][Run Sixth 3D/GUI demos as Java applet]]
41 System is implemented in Java because:
42 - It scales well to handle great complexity.
43 - It is easy to refactor and experiment with.
44 - It is fast enough thanks to Java virtual machine just-in-time compiler.
45 - Easy to run on various hardware platforms and operating systems.
49 3D rendering is done in software, 100% pure Java on CPU. At least for
50 now. Modern CPU cores count keeps growing and therefore rendering by
51 CPU is not as expensive as it used to be for the old single core
54 CPU rendering performance is already good enough to implement usable
55 3D UI at sufficient detail level, resolution and frame rate.
57 Pure Java also means easy portability and installation. No need to
58 deal with platform specific dependencies.
60 Also CPU rendering allows to easily test different rendering algorithms
61 and retains complete control of every rendered pixel.
64 - Human computer symbiosis to unleash full potential of human mind and
66 - A tool to amplify human ability.
68 ** Key ideas from user perspective
69 - Helps/assists in understanding, discovering, learning and creating
70 things by being very visual and interactive. (I think of
71 problems/solutions visually and I want user interface/experience to
74 - Properly visualizes and immerses user in completely various forms of
75 information and provides intuitive and powerful ways to explore,
76 interact and manipulate it with fast feedback loop to immediately
81 “Virtual reality holds the key to the evolution of the human mind”
82 Dr. Lawrence Angelo, The Lawnmower Man (1992)
85 ** Key technical ideas
86 System should make use of distributed computing like SSI or/and Hadoop
87 for greater performance and reliability.
89 System should use some overlay network to enable secure and reliable
90 and easy to use communication between any process on any networked
91 computer as well as human to human communication.
92 * Software development
93 Instructions to embed Sixth in your project as a library. Maven
94 *pom.xml* file snippet:
99 <groupId>eu.svjatoslav</groupId>
100 <artifactId>sixth</artifactId>
101 <version>1.2</version>
109 <id>svjatoslav.eu</id>
110 <name>Svjatoslav repository</name>
111 <url>http://www2.svjatoslav.eu/maven/</url>
117 [[http://www2.svjatoslav.eu/projects/sixth/codegraphs/][Auto-generated graphs for parts of Sixth code/architecture]] using [[http://www2.svjatoslav.eu/gitbrowse/javainspect/doc/index.html][this
120 * Ideas to possibly consider/incorporate in the future
122 - Semantic networks / knowledge trees.
123 - Is able to use natural language for knowledge mining and
124 question answering. This could potentially lead to self aware
125 artificial intelligence. Because of [[http://en.wikipedia.org/wiki/Three_Laws_of_Robotics]["Three laws safe"]] design,
126 there is nothing that can go wrong.
128 - Become an alternative to or an integrated part of KDE, Gnome,
129 Canonical Unity or similar desktop user interfaces.
131 - Become an open source scientific computing engine of structured data
132 as an alternative to proprietary Wolfram Alpha.
134 - Become an open source solution for unstructured knowledge extraction
135 and processing, similar to IBM Watson.
137 - P2P (Peer to peer) capabilities:
138 - File/data sharing system.
139 - Data streaming system.
140 - Distributed backup system.
141 - Distributed computation system.
142 - Communication system.
143 - Possibility of completely decentralized and stealth mode of operation for information publishing, storage and distribution, similar to Freenet.