#+TITLE: Sixth 3D engine demos ----- - This is a subproject of [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d/doc/index.html][Sixth 3D]] - [[http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]] - This program is free software; you can redistribute it and/or modify it under the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] or later as published by the Free Software Foundation. - Program author: - Svjatoslav Agejenko - Homepage: http://svjatoslav.eu - Email: mailto://svjatoslav@svjatoslav.eu - [[http://svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]] * Current status [[http://www2.svjatoslav.eu/gitbrowse/sixth/doc/screenshots/index.html][http://www2.svjatoslav.eu/gitbrowse/sixth/doc/screenshots.png]] Sample scenes rendered at interactive framerates by Sixth 3D engine. Sixth is presently in research / prototyping and ideas collecting phase. Some working parts are already implemented, and can be run as a demo or as a library in other projects, if you are computer programmer. System is far from being useful for non programmers (Pre alpha). Implemented and working features: - First layer of storage: Simple persistent key-value map. - In software, pure Java realtime 3D rendering engine. [[http://www2.svjatoslav.eu/gitbrowse/sixth/doc/applet.html][Run Sixth 3D/GUI demos as Java applet]] System is implemented in Java because: - It scales well to handle great complexity. - It is easy to refactor and experiment with. - It is fast enough thanks to Java virtual machine just-in-time compiler. - Easy to run on various hardware platforms and operating systems. ** 3D rendering 3D rendering is done in software, 100% pure Java on CPU. At least for now. Modern CPU cores count keeps growing and therefore rendering by CPU is not as expensive as it used to be for the old single core systems. CPU rendering performance is already good enough to implement usable 3D UI at sufficient detail level, resolution and frame rate. Pure Java also means easy portability and installation. No need to deal with platform specific dependencies. Also CPU rendering allows to easily test different rendering algorithms and retains complete control of every rendered pixel. * Vision - Human computer symbiosis to unleash full potential of human mind and computer. - A tool to amplify human ability. ** Key ideas from user perspective - Helps/assists in understanding, discovering, learning and creating things by being very visual and interactive. (I think of problems/solutions visually and I want user interface/experience to reflect that) - Properly visualizes and immerses user in completely various forms of information and provides intuitive and powerful ways to explore, interact and manipulate it with fast feedback loop to immediately see results. - I like this quote: #+BEGIN_QUOTE “Virtual reality holds the key to the evolution of the human mind” Dr. Lawrence Angelo, The Lawnmower Man (1992) #+END_QUOTE ** Key technical ideas System should make use of distributed computing like SSI or/and Hadoop for greater performance and reliability. System should use some overlay network to enable secure and reliable and easy to use communication between any process on any networked computer as well as human to human communication. * Software development Instructions to embed Sixth in your project as a library. Maven *pom.xml* file snippet: #+BEGIN_SRC xml ... eu.svjatoslav sixth 1.2 ... ... svjatoslav.eu Svjatoslav repository http://www2.svjatoslav.eu/maven/ ... #+END_SRC [[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 tool]] * Ideas to possibly consider/incorporate in the future - Semantic networks / knowledge trees. - Is able to use natural language for knowledge mining and question answering. This could potentially lead to self aware artificial intelligence. Because of [[http://en.wikipedia.org/wiki/Three_Laws_of_Robotics]["Three laws safe"]] design, there is nothing that can go wrong. - Become an alternative to or an integrated part of KDE, Gnome, Canonical Unity or similar desktop user interfaces. - Become an open source scientific computing engine of structured data as an alternative to proprietary Wolfram Alpha. - Become an open source solution for unstructured knowledge extraction and processing, similar to IBM Watson. - P2P (Peer to peer) capabilities: - File/data sharing system. - Data streaming system. - Distributed backup system. - Distributed computation system. - Communication system. - Possibility of completely decentralized and stealth mode of operation for information publishing, storage and distribution, similar to Freenet.