fixed download link
[sixth-3d.git] / doc / index.html
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">
5 <head>
6 <!-- 2016-08-23 Tue 09:34 -->
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;
17               font-size: medium;
18               font-weight: bold;
19               margin-top:0; }
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%; }
33   pre {
34     border: 1px solid #ccc;
35     box-shadow: 3px 3px 3px #eee;
36     padding: 8pt;
37     font-family: monospace;
38     overflow: auto;
39     margin: 1.2em;
40   }
41   pre.src {
42     position: relative;
43     overflow: visible;
44     padding-top: 1.2em;
45   }
46   pre.src:before {
47     display: none;
48     position: absolute;
49     background-color: white;
50     top: -10px;
51     right: 10px;
52     padding: 3px;
53     border: 1px solid black;
54   }
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'; }
63
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; }
79   .inlinetask {
80     padding: 10px;
81     border: 2px solid gray;
82     margin: 10px;
83     background: #ffffcc;
84   }
85   #org-div-home-and-up
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; }
95   /*]]>*/-->
96 </style>
97 <link rel="stylesheet" type="text/css" href="http://thomasf.github.io/solarized-css/solarized-dark.min.css" />
98 <script type="text/javascript">
99 /*
100 @licstart  The following is the entire license notice for the
101 JavaScript code in this tag.
102
103 Copyright (C) 2012-2013 Free Software Foundation, Inc.
104
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.
112
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.
118
119
120 @licend  The above is the entire license notice
121 for the JavaScript code in this tag.
122 */
123 <!--/*--><![CDATA[/*><!--*/
124  function CodeHighlightOn(elem, id)
125  {
126    var target = document.getElementById(id);
127    if(null != target) {
128      elem.cacheClassElem = elem.className;
129      elem.cacheClassTarget = target.className;
130      target.className = "code-highlighted";
131      elem.className   = "code-highlighted";
132    }
133  }
134  function CodeHighlightOff(elem, id)
135  {
136    var target = document.getElementById(id);
137    if(elem.cacheClassElem)
138      elem.className = elem.cacheClassElem;
139    if(elem.cacheClassTarget)
140      target.className = elem.cacheClassTarget;
141  }
142 /*]]>*///-->
143 </script>
144 </head>
145 <body>
146 <div id="content">
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">
151 <ul>
152 <li><a href="#orgheadline1">1. Project description</a></li>
153 <li><a href="#orgheadline2">2. Software development</a></li>
154 </ul>
155 </div>
156 </div>
157 <hr  />
158 <ul class="org-ul">
159 <li>This is a subproject of <a href="http://www2.svjatoslav.eu/gitbrowse/sixth/doc/index.html">Sixth</a></li>
160
161 <li><a href="http://www2.svjatoslav.eu/gitweb/?p=sixth-3d.git;a=snapshot;h=HEAD;sf=tgz">download latest snapshot</a></li>
162
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>
166
167 <li>Program author:
168 <ul class="org-ul">
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>
172 </ul></li>
173
174 <li><a href="http://svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a></li>
175 </ul>
176
177
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">
181 <p>
182 In software, pure Java realtime 3D rendering engine. With the final goal of
183 becoming a platform for buildng 3D user interfaces.
184 </p>
185
186 <ul class="org-ul">
187 <li>See: <a href="http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html">demos of current 3D engine capabilities</a></li>
188 </ul>
189
190
191 <p>
192 System is implemented in Java because:
193 </p>
194 <ul class="org-ul">
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>
199 </ul>
200
201 <p>
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.
205 </p>
206
207 <p>
208 CPU rendering performance is already good enough to implement usable 3D UI at
209 sufficient detail level, resolution and frame rate.
210 </p>
211
212 <p>
213 Pure Java also means easy portability and installation. No need to deal with
214 platform specific dependencies.
215 </p>
216
217 <p>
218 Also CPU rendering allows to easily test different rendering algorithms and
219 retains complete control of every rendered pixel.
220 </p>
221 </div>
222 </div>
223
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">
227 <p>
228 Instructions to embed Sixth-3D in your project as a library. Maven *pom.xml*
229 file snippet:
230 </p>
231 <div class="org-src-container">
232
233 <pre class="src src-xml">&lt;<span style="color: #bc6ec5; font-weight: bold;">dependencies</span>&gt;
234     ...
235     &lt;<span style="color: #bc6ec5; font-weight: bold;">dependency</span>&gt;
236         &lt;<span style="color: #bc6ec5; font-weight: bold;">groupId</span>&gt;eu.svjatoslav&lt;/<span style="color: #bc6ec5; font-weight: bold;">groupId</span>&gt;
237         &lt;<span style="color: #bc6ec5; font-weight: bold;">artifactId</span>&gt;sixth-3d&lt;/<span style="color: #bc6ec5; font-weight: bold;">artifactId</span>&gt;
238         &lt;<span style="color: #bc6ec5; font-weight: bold;">version</span>&gt;1.0&lt;/<span style="color: #bc6ec5; font-weight: bold;">version</span>&gt;
239     &lt;/<span style="color: #bc6ec5; font-weight: bold;">dependency</span>&gt;
240     ...
241 &lt;/<span style="color: #bc6ec5; font-weight: bold;">dependencies</span>&gt;
242
243 &lt;<span style="color: #bc6ec5; font-weight: bold;">repositories</span>&gt;
244     ...
245     &lt;<span style="color: #bc6ec5; font-weight: bold;">repository</span>&gt;
246         &lt;<span style="color: #bc6ec5; font-weight: bold;">id</span>&gt;svjatoslav.eu&lt;/<span style="color: #bc6ec5; font-weight: bold;">id</span>&gt;
247         &lt;<span style="color: #bc6ec5; font-weight: bold;">name</span>&gt;Svjatoslav repository&lt;/<span style="color: #bc6ec5; font-weight: bold;">name</span>&gt;
248         &lt;<span style="color: #bc6ec5; font-weight: bold;">url</span>&gt;http://www2.svjatoslav.eu/maven/&lt;/<span style="color: #bc6ec5; font-weight: bold;">url</span>&gt;
249     &lt;/<span style="color: #bc6ec5; font-weight: bold;">repository</span>&gt;
250     ...
251 &lt;/<span style="color: #bc6ec5; font-weight: bold;">repositories</span>&gt;
252 </pre>
253 </div>
254
255 <p>
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>
257 </p>
258 </div>
259 </div>
260 </div>
261 <div id="postamble" class="status">
262 <p class="author">Author: Svjatoslav Agejenko</p>
263 <p class="date">Created: 2016-08-23 Tue 09:34</p>
264 <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
265 </div>
266 </body>
267 </html>