1 #+TITLE: Sixth 3D - 3D engine
4 - This is a subproject of [[http://www2.svjatoslav.eu/gitbrowse/sixth/doc/index.html][Sixth]]
6 - [[http://www2.svjatoslav.eu/gitweb/?p=sixth-3d.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]]
8 - This program is free software; you can redistribute it and/or modify it under
9 the terms of version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] or later as
10 published by the Free Software Foundation.
14 - Homepage: http://svjatoslav.eu
15 - Email: mailto://svjatoslav@svjatoslav.eu
17 - [[http://svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]]
19 * (document settings) :noexport:
20 ** use dark style for TWBS-HTML exporter
21 #+HTML_HEAD: <link href="https://bootswatch.com/darkly/bootstrap.min.css" rel="stylesheet">
22 #+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
23 #+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
24 #+HTML_HEAD: <style type="text/css">
25 #+HTML_HEAD: footer {background-color: #111 !important;}
26 #+HTML_HEAD: pre {background-color: #111; color: #ccc;}
30 In software, pure Java realtime 3D rendering engine. With the final goal of
31 becoming a platform for buildng 3D user interfaces.
33 + See: [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html][demos of current 3D engine capabilities]]
36 System is implemented in Java because:
37 - It scales well to handle great complexity.
38 - It is easy to refactor and experiment with.
39 - It is fast enough thanks to Java virtual machine just-in-time compiler.
40 - Easy to run on various hardware platforms and operating systems.
42 3D rendering is done in software, 100% pure Java on CPU. At least for now.
43 Modern CPU cores count keeps growing and therefore rendering by CPU is not as
44 expensive as it used to be for the old single core systems.
46 CPU rendering performance is already good enough to implement usable 3D UI at
47 sufficient detail level, resolution and frame rate.
49 Pure Java also means easy portability and installation. No need to deal with
50 platform specific dependencies.
52 Also CPU rendering allows to easily test different rendering algorithms and
53 retains complete control of every rendered pixel.
55 * Software development
57 + partial (region) frame repaint
59 ** Instructions to embed Sixth-3D in your project
60 Maven *pom.xml* file snippet:
65 <groupId>eu.svjatoslav</groupId>
66 <artifactId>sixth-3d</artifactId>
67 <version>1.0</version>
75 <id>svjatoslav.eu</id>
76 <name>Svjatoslav repository</name>
77 <url>http://www2.svjatoslav.eu/maven/</url>
83 See [[file:codeGraph/index.html][generated code graph]] using [[http://www2.svjatoslav.eu/gitbrowse/javainspect/doc/index.html][this tool]].