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-03 Wed 23:15 -->
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[/*><!--*/
27 font-family: monospace;
32 font-family: monospace;
37 font-family: monospace;
42 background-color: #eee;
43 font-family: monospace;
76 text-decoration: underline;
79 #postamble p, #preamble p {
89 border: 1px solid #ccc;
90 box-shadow: 3px 3px 3px #eee;
92 font-family: monospace;
106 background-color: white;
110 border: 1px solid black;
113 pre.src:hover:before {
121 pre.src-bash:before {
125 pre.src-emacs-lisp:before {
126 content: 'Emacs Lisp';
133 pre.src-perl:before {
137 pre.src-java:before {
146 border-collapse: collapse;
154 caption-side: bottom;
207 border: 2px solid gray;
212 #org-div-home-and-up {
227 background-color: #ffff00;
230 .org-info-js_info-navigation {
234 #org-info-js_console-label {
240 .org-info-js_search-highlight {
241 background-color: #ffff00;
249 <link rel="stylesheet" type="text/css" href="http://thomasf.github.io/solarized-css/solarized-dark.min.css"/>
250 <script type="text/javascript">
252 @licstart The following is the entire license notice for the
253 JavaScript code in this tag.
255 Copyright (C) 2012-2013 Free Software Foundation, Inc.
257 The JavaScript code in this tag is free software: you can
258 redistribute it and/or modify it under the terms of the GNU
259 General Public License (GNU GPL) as published by the Free Software
260 Foundation, either version 3 of the License, or (at your option)
261 any later version. The code is distributed WITHOUT ANY WARRANTY;
262 without even the implied warranty of MERCHANTABILITY or FITNESS
263 FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
265 As additional permission under GNU GPL version 3 section 7, you
266 may distribute non-source (e.g., minimized or compacted) forms of
267 that code without the copy of the GNU GPL normally required by
268 section 4, provided you include this license notice and a URL
269 through which recipients can access the Corresponding Source.
272 @licend The above is the entire license notice
273 for the JavaScript code in this tag.
275 <!--/*--><![CDATA[/*><!--*/
276 function CodeHighlightOn(elem, id) {
277 var target = document.getElementById(id);
278 if (null != target) {
279 elem.cacheClassElem = elem.className;
280 elem.cacheClassTarget = target.className;
281 target.className = "code-highlighted";
282 elem.className = "code-highlighted";
285 function CodeHighlightOff(elem, id) {
286 var target = document.getElementById(id);
287 if (elem.cacheClassElem)
288 elem.className = elem.cacheClassElem;
289 if (elem.cacheClassTarget)
290 target.className = elem.cacheClassTarget;
297 <h1 class="title">Sixth 3D - 3D engine</h1>
298 <div id="table-of-contents">
299 <h2>Table of Contents</h2>
300 <div id="text-table-of-contents">
302 <li><a href="#orgheadline1">1. Project description</a></li>
303 <li><a href="#orgheadline2">2. Software development</a></li>
309 <li>This is a subproject of <a href="http://www2.svjatoslav.eu/gitbrowse/sixth/doc/index.html">Sixth</a></li>
311 <li><a href="http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz">download latest
314 <li>This program is free software; you can redistribute it and/or modify it under
315 the terms of version 3 of the <a href="https://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public
316 License</a> or later as
317 published by the Free Software Foundation.
322 <li>Svjatoslav Agejenko</li>
323 <li>Homepage: <a href="http://svjatoslav.eu/">http://svjatoslav.eu/</a></li>
324 <li>Email: <a href="mailto://svjatoslav@svjatoslav.eu/">mailto://svjatoslav@svjatoslav.eu/</a></li>
328 <li><a href="http://svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a></li>
333 <li>In software, pure Java realtime 3D rendering engine. With the final goal of
334 becoming a platform for buildng 3D user interfaces.
338 <div id="outline-container-orgheadline1" class="outline-2">
339 <h2 id="orgheadline1"><span class="section-number-2">1</span> Project description</h2>
340 <div class="outline-text-2" id="text-1">
342 System is implemented in Java because:
345 <li>It scales well to handle great complexity.</li>
346 <li>It is easy to refactor and experiment with.</li>
347 <li>It is fast enough thanks to Java virtual machine just-in-time compiler.</li>
348 <li>Easy to run on various hardware platforms and operating systems.</li>
352 3D rendering is done in software, 100% pure Java on CPU. At least for now.
353 Modern CPU cores count keeps growing and therefore rendering by CPU is not as
354 expensive as it used to be for the old single core systems.
358 CPU rendering performance is already good enough to implement usable 3D UI at
359 sufficient detail level, resolution and frame rate.
363 Pure Java also means easy portability and installation. No need to deal with
364 platform specific dependencies.
368 Also CPU rendering allows to easily test different rendering algorithms and
369 retains complete control of every rendered pixel.
375 <div id="outline-container-orgheadline2" class="outline-2">
376 <h2 id="orgheadline2"><span class="section-number-2">2</span> Software development</h2>
377 <div class="outline-text-2" id="text-2">
379 Instructions to embed Sixth-3D in your project as a library. Maven *pom.xml*
382 <div class="org-src-container">
384 <pre class="src src-xml"><<span style="color: #bc6ec5; font-weight: bold;">dependencies</span>>
386 <<span style="color: #bc6ec5; font-weight: bold;">dependency</span>>
387 <<span style="color: #bc6ec5; font-weight: bold;">groupId</span>>eu.svjatoslav</<span
388 style="color: #bc6ec5; font-weight: bold;">groupId</span>>
389 <<span style="color: #bc6ec5; font-weight: bold;">artifactId</span>>sixth-3d</<span
390 style="color: #bc6ec5; font-weight: bold;">artifactId</span>>
391 <<span style="color: #bc6ec5; font-weight: bold;">version</span>>1.0</<span
392 style="color: #bc6ec5; font-weight: bold;">version</span>>
393 </<span style="color: #bc6ec5; font-weight: bold;">dependency</span>>
395 </<span style="color: #bc6ec5; font-weight: bold;">dependencies</span>>
397 <<span style="color: #bc6ec5; font-weight: bold;">repositories</span>>
399 <<span style="color: #bc6ec5; font-weight: bold;">repository</span>>
400 <<span style="color: #bc6ec5; font-weight: bold;">id</span>>svjatoslav.eu</<span
401 style="color: #bc6ec5; font-weight: bold;">id</span>>
402 <<span style="color: #bc6ec5; font-weight: bold;">name</span>>Svjatoslav repository</<span
403 style="color: #bc6ec5; font-weight: bold;">name</span>>
404 <<span style="color: #bc6ec5; font-weight: bold;">url</span>>http://www2.svjatoslav.eu/maven/</<span
405 style="color: #bc6ec5; font-weight: bold;">url</span>>
406 </<span style="color: #bc6ec5; font-weight: bold;">repository</span>>
408 </<span style="color: #bc6ec5; font-weight: bold;">repositories</span>>
413 <a href="http://www2.svjatoslav.eu/projects/sixth/codegraphs/">Auto-generated graphs for parts of
414 Sixth-3D code/architecture</a> using <a
415 href="http://www2.svjatoslav.eu/gitbrowse/javainspect/doc/index.html">this tool</a>
420 <div id="postamble" class="status">
421 <p class="author">Author: Svjatoslav Agejenko</p>
422 <p class="date">Created: 2016-08-03 Wed 23:15</p>
423 <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>