1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
6 <!-- 2016-08-23 Tue 09:26 -->
7 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8 <meta name="viewport" content="width=device-width, initial-scale=1" />
9 <title>Sixth 3D - 3D engine</title>
10 <meta name="generator" content="Org-mode" />
11 <meta name="author" content="Svjatoslav Agejenko" />
12 <style type="text/css">
13 <!--/*--><![CDATA[/*><!--*/
14 .title { text-align: center;
15 margin-bottom: .2em; }
16 .subtitle { text-align: center;
20 .todo { font-family: monospace; color: red; }
21 .done { font-family: monospace; color: green; }
22 .priority { font-family: monospace; color: orange; }
23 .tag { background-color: #eee; font-family: monospace;
24 padding: 2px; font-size: 80%; font-weight: normal; }
25 .timestamp { color: #bebebe; }
26 .timestamp-kwd { color: #5f9ea0; }
27 .org-right { margin-left: auto; margin-right: 0px; text-align: right; }
28 .org-left { margin-left: 0px; margin-right: auto; text-align: left; }
29 .org-center { margin-left: auto; margin-right: auto; text-align: center; }
30 .underline { text-decoration: underline; }
31 #postamble p, #preamble p { font-size: 90%; margin: .2em; }
32 p.verse { margin-left: 3%; }
34 border: 1px solid #ccc;
35 box-shadow: 3px 3px 3px #eee;
37 font-family: monospace;
49 background-color: white;
53 border: 1px solid black;
55 pre.src:hover:before { display: inline;}
56 pre.src-sh:before { content: 'sh'; }
57 pre.src-bash:before { content: 'sh'; }
58 pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
59 pre.src-R:before { content: 'R'; }
60 pre.src-perl:before { content: 'Perl'; }
61 pre.src-java:before { content: 'Java'; }
62 pre.src-sql:before { content: 'SQL'; }
64 table { border-collapse:collapse; }
65 caption.t-above { caption-side: top; }
66 caption.t-bottom { caption-side: bottom; }
67 td, th { vertical-align:top; }
68 th.org-right { text-align: center; }
69 th.org-left { text-align: center; }
70 th.org-center { text-align: center; }
71 td.org-right { text-align: right; }
72 td.org-left { text-align: left; }
73 td.org-center { text-align: center; }
74 dt { font-weight: bold; }
75 .footpara { display: inline; }
76 .footdef { margin-bottom: 1em; }
77 .figure { padding: 1em; }
78 .figure p { text-align: center; }
81 border: 2px solid gray;
86 { text-align: right; font-size: 70%; white-space: nowrap; }
87 textarea { overflow-x: auto; }
88 .linenr { font-size: smaller }
89 .code-highlighted { background-color: #ffff00; }
90 .org-info-js_info-navigation { border-style: none; }
91 #org-info-js_console-label
92 { font-size: 10px; font-weight: bold; white-space: nowrap; }
93 .org-info-js_search-highlight
94 { background-color: #ffff00; color: #000000; font-weight: bold; }
97 <link rel="stylesheet" type="text/css" href="http://thomasf.github.io/solarized-css/solarized-dark.min.css" />
98 <script type="text/javascript">
100 @licstart The following is the entire license notice for the
101 JavaScript code in this tag.
103 Copyright (C) 2012-2013 Free Software Foundation, Inc.
105 The JavaScript code in this tag is free software: you can
106 redistribute it and/or modify it under the terms of the GNU
107 General Public License (GNU GPL) as published by the Free Software
108 Foundation, either version 3 of the License, or (at your option)
109 any later version. The code is distributed WITHOUT ANY WARRANTY;
110 without even the implied warranty of MERCHANTABILITY or FITNESS
111 FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
113 As additional permission under GNU GPL version 3 section 7, you
114 may distribute non-source (e.g., minimized or compacted) forms of
115 that code without the copy of the GNU GPL normally required by
116 section 4, provided you include this license notice and a URL
117 through which recipients can access the Corresponding Source.
120 @licend The above is the entire license notice
121 for the JavaScript code in this tag.
123 <!--/*--><![CDATA[/*><!--*/
124 function CodeHighlightOn(elem, id)
126 var target = document.getElementById(id);
128 elem.cacheClassElem = elem.className;
129 elem.cacheClassTarget = target.className;
130 target.className = "code-highlighted";
131 elem.className = "code-highlighted";
134 function CodeHighlightOff(elem, id)
136 var target = document.getElementById(id);
137 if(elem.cacheClassElem)
138 elem.className = elem.cacheClassElem;
139 if(elem.cacheClassTarget)
140 target.className = elem.cacheClassTarget;
147 <h1 class="title">Sixth 3D - 3D engine</h1>
148 <div id="table-of-contents">
149 <h2>Table of Contents</h2>
150 <div id="text-table-of-contents">
152 <li><a href="#orgheadline1">1. Project description</a></li>
153 <li><a href="#orgheadline2">2. Software development</a></li>
159 <li>This is a subproject of <a href="http://www2.svjatoslav.eu/gitbrowse/sixth/doc/index.html">Sixth</a></li>
161 <li><a href="http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz">download latest snapshot</a></li>
163 <li>This program is free software; you can redistribute it and/or modify it under
164 the terms of version 3 of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License</a> or later as
165 published by the Free Software Foundation.</li>
169 <li>Svjatoslav Agejenko</li>
170 <li>Homepage: <a href="http://svjatoslav.eu/">http://svjatoslav.eu/</a></li>
171 <li>Email: <a href="mailto://svjatoslav@svjatoslav.eu/">mailto://svjatoslav@svjatoslav.eu/</a></li>
174 <li><a href="http://svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a></li>
178 <div id="outline-container-orgheadline1" class="outline-2">
179 <h2 id="orgheadline1"><span class="section-number-2">1</span> Project description</h2>
180 <div class="outline-text-2" id="text-1">
182 In software, pure Java realtime 3D rendering engine. With the final goal of
183 becoming a platform for buildng 3D user interfaces.
187 <li>See: <a href="http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html">demos of current 3D engine capabilities</a></li>
192 System is implemented in Java because:
195 <li>It scales well to handle great complexity.</li>
196 <li>It is easy to refactor and experiment with.</li>
197 <li>It is fast enough thanks to Java virtual machine just-in-time compiler.</li>
198 <li>Easy to run on various hardware platforms and operating systems.</li>
202 3D rendering is done in software, 100% pure Java on CPU. At least for now.
203 Modern CPU cores count keeps growing and therefore rendering by CPU is not as
204 expensive as it used to be for the old single core systems.
208 CPU rendering performance is already good enough to implement usable 3D UI at
209 sufficient detail level, resolution and frame rate.
213 Pure Java also means easy portability and installation. No need to deal with
214 platform specific dependencies.
218 Also CPU rendering allows to easily test different rendering algorithms and
219 retains complete control of every rendered pixel.
224 <div id="outline-container-orgheadline2" class="outline-2">
225 <h2 id="orgheadline2"><span class="section-number-2">2</span> Software development</h2>
226 <div class="outline-text-2" id="text-2">
228 Instructions to embed Sixth-3D in your project as a library. Maven *pom.xml*
231 <div class="org-src-container">
233 <pre class="src src-xml"><<span style="color: #bc6ec5; font-weight: bold;">dependencies</span>>
235 <<span style="color: #bc6ec5; font-weight: bold;">dependency</span>>
236 <<span style="color: #bc6ec5; font-weight: bold;">groupId</span>>eu.svjatoslav</<span style="color: #bc6ec5; font-weight: bold;">groupId</span>>
237 <<span style="color: #bc6ec5; font-weight: bold;">artifactId</span>>sixth-3d</<span style="color: #bc6ec5; font-weight: bold;">artifactId</span>>
238 <<span style="color: #bc6ec5; font-weight: bold;">version</span>>1.0</<span style="color: #bc6ec5; font-weight: bold;">version</span>>
239 </<span style="color: #bc6ec5; font-weight: bold;">dependency</span>>
241 </<span style="color: #bc6ec5; font-weight: bold;">dependencies</span>>
243 <<span style="color: #bc6ec5; font-weight: bold;">repositories</span>>
245 <<span style="color: #bc6ec5; font-weight: bold;">repository</span>>
246 <<span style="color: #bc6ec5; font-weight: bold;">id</span>>svjatoslav.eu</<span style="color: #bc6ec5; font-weight: bold;">id</span>>
247 <<span style="color: #bc6ec5; font-weight: bold;">name</span>>Svjatoslav repository</<span style="color: #bc6ec5; font-weight: bold;">name</span>>
248 <<span style="color: #bc6ec5; font-weight: bold;">url</span>>http://www2.svjatoslav.eu/maven/</<span style="color: #bc6ec5; font-weight: bold;">url</span>>
249 </<span style="color: #bc6ec5; font-weight: bold;">repository</span>>
251 </<span style="color: #bc6ec5; font-weight: bold;">repositories</span>>
256 <a href="http://www2.svjatoslav.eu/projects/sixth/codegraphs/">Auto-generated graphs for parts of Sixth-3D code/architecture</a> using <a href="http://www2.svjatoslav.eu/gitbrowse/javainspect/doc/index.html">this tool</a>
261 <div id="postamble" class="status">
262 <p class="author">Author: Svjatoslav Agejenko</p>
263 <p class="date">Created: 2016-08-23 Tue 09:26</p>
264 <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>