-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<!doctype html>
+<html lang="en">
<head>
- <!-- 2016-08-03 Wed 23:15 -->
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
- <meta name="viewport" content="width=device-width, initial-scale=1"/>
- <title>Sixth 3D - 3D engine</title>
- <meta name="generator" content="Org-mode"/>
- <meta name="author" content="Svjatoslav Agejenko"/>
- <style type="text/css">
- <!-- /*--><![CDATA[/*><!--*/
- .title {
- text-align: center;
- margin-bottom: .2em;
- }
-
- .subtitle {
- text-align: center;
- font-size: medium;
- font-weight: bold;
- margin-top: 0;
- }
-
- .todo {
- font-family: monospace;
- color: red;
- }
-
- .done {
- font-family: monospace;
- color: green;
- }
-
- .priority {
- font-family: monospace;
- color: orange;
- }
-
- .tag {
- background-color: #eee;
- font-family: monospace;
- padding: 2px;
- font-size: 80%;
- font-weight: normal;
- }
-
- .timestamp {
- color: #bebebe;
- }
-
- .timestamp-kwd {
- color: #5f9ea0;
- }
-
- .org-right {
- margin-left: auto;
- margin-right: 0px;
- text-align: right;
- }
-
- .org-left {
- margin-left: 0px;
- margin-right: auto;
- text-align: left;
- }
-
- .org-center {
- margin-left: auto;
- margin-right: auto;
- text-align: center;
- }
-
- .underline {
- text-decoration: underline;
- }
-
- #postamble p, #preamble p {
- font-size: 90%;
- margin: .2em;
- }
-
- p.verse {
- margin-left: 3%;
- }
-
- pre {
- border: 1px solid #ccc;
- box-shadow: 3px 3px 3px #eee;
- padding: 8pt;
- font-family: monospace;
- overflow: auto;
- margin: 1.2em;
- }
-
- pre.src {
- position: relative;
- overflow: visible;
- padding-top: 1.2em;
- }
-
- pre.src:before {
- display: none;
- position: absolute;
- background-color: white;
- top: -10px;
- right: 10px;
- padding: 3px;
- border: 1px solid black;
- }
-
- pre.src:hover:before {
- display: inline;
- }
-
- pre.src-sh:before {
- content: 'sh';
- }
-
- pre.src-bash:before {
- content: 'sh';
- }
-
- pre.src-emacs-lisp:before {
- content: 'Emacs Lisp';
- }
-
- pre.src-R:before {
- content: 'R';
- }
-
- pre.src-perl:before {
- content: 'Perl';
- }
-
- pre.src-java:before {
- content: 'Java';
- }
-
- pre.src-sql:before {
- content: 'SQL';
- }
-
- table {
- border-collapse: collapse;
- }
-
- caption.t-above {
- caption-side: top;
- }
-
- caption.t-bottom {
- caption-side: bottom;
- }
-
- td, th {
- vertical-align: top;
- }
-
- th.org-right {
- text-align: center;
- }
-
- th.org-left {
- text-align: center;
- }
-
- th.org-center {
- text-align: center;
- }
-
- td.org-right {
- text-align: right;
- }
-
- td.org-left {
- text-align: left;
- }
-
- td.org-center {
- text-align: center;
- }
-
- dt {
- font-weight: bold;
- }
-
- .footpara {
- display: inline;
- }
-
- .footdef {
- margin-bottom: 1em;
- }
-
- .figure {
- padding: 1em;
- }
-
- .figure p {
- text-align: center;
- }
-
- .inlinetask {
- padding: 10px;
- border: 2px solid gray;
- margin: 10px;
- background: #ffffcc;
- }
-
- #org-div-home-and-up {
- text-align: right;
- font-size: 70%;
- white-space: nowrap;
- }
-
- textarea {
- overflow-x: auto;
- }
-
- .linenr {
- font-size: smaller
- }
-
- .code-highlighted {
- background-color: #ffff00;
- }
-
- .org-info-js_info-navigation {
- border-style: none;
- }
-
- #org-info-js_console-label {
- font-size: 10px;
- font-weight: bold;
- white-space: nowrap;
- }
-
- .org-info-js_search-highlight {
- background-color: #ffff00;
- color: #000000;
- font-weight: bold;
- }
-
- /*]]>*/
- -->
- </style>
- <link rel="stylesheet" type="text/css" href="http://thomasf.github.io/solarized-css/solarized-dark.min.css"/>
- <script type="text/javascript">
- /*
- @licstart The following is the entire license notice for the
- JavaScript code in this tag.
-
- Copyright (C) 2012-2013 Free Software Foundation, Inc.
-
- The JavaScript code in this tag is free software: you can
- redistribute it and/or modify it under the terms of the GNU
- General Public License (GNU GPL) as published by the Free Software
- Foundation, either version 3 of the License, or (at your option)
- any later version. The code is distributed WITHOUT ANY WARRANTY;
- without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
-
- As additional permission under GNU GPL version 3 section 7, you
- may distribute non-source (e.g., minimized or compacted) forms of
- that code without the copy of the GNU GPL normally required by
- section 4, provided you include this license notice and a URL
- through which recipients can access the Corresponding Source.
-
-
- @licend The above is the entire license notice
- for the JavaScript code in this tag.
- */
- <!--/*--><![CDATA[/*><!--*/
- function CodeHighlightOn(elem, id) {
- var target = document.getElementById(id);
- if (null != target) {
- elem.cacheClassElem = elem.className;
- elem.cacheClassTarget = target.className;
- target.className = "code-highlighted";
- elem.className = "code-highlighted";
- }
- }
- function CodeHighlightOff(elem, id) {
- var target = document.getElementById(id);
- if (elem.cacheClassElem)
- elem.className = elem.cacheClassElem;
- if (elem.cacheClassTarget)
- target.className = elem.cacheClassTarget;
- }
- /*]]>*///-->
- </script>
+<title>Sixth 3D - 3D engine</title>
+<!-- 2017-03-06 Mon 10:18 -->
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="generator" content="Org-mode">
+<meta name="author" content="Svjatoslav Agejenko">
+<link href="https://bootswatch.com/darkly/bootstrap.min.css" rel="stylesheet">
+<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
+<style type="text/css">
+footer {background-color: #111 !important;}
+pre {background-color: #111; color: #ccc;}
+</style>
+<style type="text/css">
+/* org mode styles on top of twbs */
+
+html {
+ position: relative;
+ min-height: 100%;
+}
+
+body {
+ font-size: 18px;
+ margin-bottom: 105px;
+}
+
+footer {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ height: 101px;
+ background-color: #f5f5f5;
+}
+
+footer > div {
+ padding: 10px;
+}
+
+footer p {
+ margin: 0 0 5px;
+ text-align: center;
+ font-size: 16px;
+}
+
+#table-of-contents {
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+
+blockquote p {
+ font-size: 18px;
+}
+
+pre {
+ font-size: 16px;
+}
+
+.footpara {
+ display: inline-block;
+}
+
+figcaption {
+ font-size: 16px;
+ color: #666;
+ font-style: italic;
+ padding-bottom: 15px;
+}
+
+/* from twbs docs */
+
+.bs-docs-sidebar.affix {
+ position: static;
+}
+@media (min-width: 768px) {
+ .bs-docs-sidebar {
+ padding-left: 20px;
+ }
+}
+
+/* All levels of nav */
+.bs-docs-sidebar .nav > li > a {
+ display: block;
+ padding: 4px 20px;
+ font-size: 14px;
+ font-weight: 500;
+ color: #999;
+}
+.bs-docs-sidebar .nav > li > a:hover,
+.bs-docs-sidebar .nav > li > a:focus {
+ padding-left: 19px;
+ color: #A1283B;
+ text-decoration: none;
+ background-color: transparent;
+ border-left: 1px solid #A1283B;
+}
+.bs-docs-sidebar .nav > .active > a,
+.bs-docs-sidebar .nav > .active:hover > a,
+.bs-docs-sidebar .nav > .active:focus > a {
+ padding-left: 18px;
+ font-weight: bold;
+ color: #A1283B;
+ background-color: transparent;
+ border-left: 2px solid #A1283B;
+}
+
+/* Nav: second level (shown on .active) */
+.bs-docs-sidebar .nav .nav {
+ display: none; /* Hide by default, but at >768px, show it */
+ padding-bottom: 10px;
+}
+.bs-docs-sidebar .nav .nav > li > a {
+ padding-top: 1px;
+ padding-bottom: 1px;
+ padding-left: 30px;
+ font-size: 12px;
+ font-weight: normal;
+}
+.bs-docs-sidebar .nav .nav > li > a:hover,
+.bs-docs-sidebar .nav .nav > li > a:focus {
+ padding-left: 29px;
+}
+.bs-docs-sidebar .nav .nav > .active > a,
+.bs-docs-sidebar .nav .nav > .active:hover > a,
+.bs-docs-sidebar .nav .nav > .active:focus > a {
+ padding-left: 28px;
+ font-weight: 500;
+}
+
+/* Nav: third level (shown on .active) */
+.bs-docs-sidebar .nav .nav .nav {
+ padding-bottom: 10px;
+}
+.bs-docs-sidebar .nav .nav .nav > li > a {
+ padding-top: 1px;
+ padding-bottom: 1px;
+ padding-left: 40px;
+ font-size: 12px;
+ font-weight: normal;
+}
+.bs-docs-sidebar .nav .nav .nav > li > a:hover,
+.bs-docs-sidebar .nav .nav .nav > li > a:focus {
+ padding-left: 39px;
+}
+.bs-docs-sidebar .nav .nav .nav > .active > a,
+.bs-docs-sidebar .nav .nav .nav > .active:hover > a,
+.bs-docs-sidebar .nav .nav .nav > .active:focus > a {
+ padding-left: 38px;
+ font-weight: 500;
+}
+
+/* Show and affix the side nav when space allows it */
+@media (min-width: 992px) {
+ .bs-docs-sidebar .nav > .active > ul {
+ display: block;
+ }
+ /* Widen the fixed sidebar */
+ .bs-docs-sidebar.affix,
+ .bs-docs-sidebar.affix-bottom {
+ width: 213px;
+ }
+ .bs-docs-sidebar.affix {
+ position: fixed; /* Undo the static from mobile first approach */
+ top: 20px;
+ }
+ .bs-docs-sidebar.affix-bottom {
+ position: absolute; /* Undo the static from mobile first approach */
+ }
+ .bs-docs-sidebar.affix .bs-docs-sidenav,.bs-docs-sidebar.affix-bottom .bs-docs-sidenav {
+ margin-top: 0;
+ margin-bottom: 0
+ }
+}
+@media (min-width: 1200px) {
+ /* Widen the fixed sidebar again */
+ .bs-docs-sidebar.affix-bottom,
+ .bs-docs-sidebar.affix {
+ width: 263px;
+ }
+}
+</style>
+<script type="text/javascript">
+$(function() {
+ 'use strict';
+
+ $('.bs-docs-sidebar li').first().addClass('active');
+
+ $(document.body).scrollspy({target: '.bs-docs-sidebar'});
+
+ $('.bs-docs-sidebar').affix();
+});
+</script>
</head>
<body>
-<div id="content">
- <h1 class="title">Sixth 3D - 3D engine</h1>
- <div id="table-of-contents">
- <h2>Table of Contents</h2>
- <div id="text-table-of-contents">
- <ul>
- <li><a href="#orgheadline1">1. Project description</a></li>
- <li><a href="#orgheadline2">2. Software development</a></li>
- </ul>
- </div>
- </div>
- <hr/>
- <ul class="org-ul">
- <li>This is a subproject of <a href="http://www2.svjatoslav.eu/gitbrowse/sixth/doc/index.html">Sixth</a></li>
-
- <li><a href="http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz">download latest
- snapshot</a></li>
-
- <li>This program is free software; you can redistribute it and/or modify it under
- 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
- published by the Free Software Foundation.
- </li>
-
- <li>Program author:
- <ul class="org-ul">
- <li>Svjatoslav Agejenko</li>
- <li>Homepage: <a href="http://svjatoslav.eu/">http://svjatoslav.eu/</a></li>
- <li>Email: <a href="mailto://svjatoslav@svjatoslav.eu/">mailto://svjatoslav@svjatoslav.eu/</a></li>
- </ul>
- </li>
-
- <li><a href="http://svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a></li>
- </ul>
-
-
- <ul class="org-ul">
- <li>In software, pure Java realtime 3D rendering engine. With the final goal of
- becoming a platform for buildng 3D user interfaces.
- </li>
- </ul>
-
- <div id="outline-container-orgheadline1" class="outline-2">
- <h2 id="orgheadline1"><span class="section-number-2">1</span> Project description</h2>
- <div class="outline-text-2" id="text-1">
- <p>
- System is implemented in Java because:
- </p>
- <ul class="org-ul">
- <li>It scales well to handle great complexity.</li>
- <li>It is easy to refactor and experiment with.</li>
- <li>It is fast enough thanks to Java virtual machine just-in-time compiler.</li>
- <li>Easy to run on various hardware platforms and operating systems.</li>
- </ul>
-
- <p>
- 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.
- </p>
-
- <p>
- CPU rendering performance is already good enough to implement usable 3D UI at
- sufficient detail level, resolution and frame rate.
- </p>
-
- <p>
- Pure Java also means easy portability and installation. No need to deal with
- platform specific dependencies.
- </p>
-
- <p>
- Also CPU rendering allows to easily test different rendering algorithms and
- retains complete control of every rendered pixel.
- </p>
- </div>
- </div>
-
-
- <div id="outline-container-orgheadline2" class="outline-2">
- <h2 id="orgheadline2"><span class="section-number-2">2</span> Software development</h2>
- <div class="outline-text-2" id="text-2">
- <p>
- Instructions to embed Sixth-3D in your project as a library. Maven *pom.xml*
- file snippet:
- </p>
- <div class="org-src-container">
-
-<pre class="src src-xml"><<span style="color: #bc6ec5; font-weight: bold;">dependencies</span>>
+<div id="content" class="container">
+<div class="row"><div class="col-md-9"><h1 class="title">Sixth 3D - 3D engine</h1>
+<hr >
+<ul class="org-ul">
+<li>This is a subproject of <a href="http://www2.svjatoslav.eu/gitbrowse/sixth/doc/index.html">Sixth</a>
+</li>
+
+<li><a href="http://www2.svjatoslav.eu/gitweb/?p=sixth-3d.git;a=snapshot;h=HEAD;sf=tgz">download latest snapshot</a>
+</li>
+
+<li>This program is free software; you can redistribute it and/or modify it under
+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
+published by the Free Software Foundation.
+</li>
+
+<li>Program author:
+<ul class="org-ul">
+<li>Svjatoslav Agejenko
+</li>
+<li>Homepage: <a href="http://svjatoslav.eu">http://svjatoslav.eu</a>
+</li>
+<li>Email: <a href="mailto://svjatoslav@svjatoslav.eu">mailto://svjatoslav@svjatoslav.eu</a>
+</li>
+</ul>
+</li>
+
+<li><a href="http://svjatoslav.eu/programs.jsp">other applications hosted at svjatoslav.eu</a>
+</li>
+</ul>
+
+<div id="outline-container-sec-1" class="outline-2">
+<h2 id="sec-1"><span class="section-number-2">1</span> Project description</h2>
+<div class="outline-text-2" id="text-1">
+<p>
+In software, pure Java realtime 3D rendering engine. With the final goal of
+becoming a platform for buildng 3D user interfaces.
+</p>
+
+<ul class="org-ul">
+<li>See: <a href="http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html">demos of current 3D engine capabilities</a>
+</li>
+</ul>
+
+
+<p>
+System is implemented in Java because:
+</p>
+<ul class="org-ul">
+<li>It scales well to handle great complexity.
+</li>
+<li>It is easy to refactor and experiment with.
+</li>
+<li>It is fast enough thanks to Java virtual machine just-in-time compiler.
+</li>
+<li>Easy to run on various hardware platforms and operating systems.
+</li>
+</ul>
+
+<p>
+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.
+</p>
+
+<p>
+CPU rendering performance is already good enough to implement usable 3D UI at
+sufficient detail level, resolution and frame rate.
+</p>
+
+<p>
+Pure Java also means easy portability and installation. No need to deal with
+platform specific dependencies.
+</p>
+
+<p>
+Also CPU rendering allows to easily test different rendering algorithms and
+retains complete control of every rendered pixel.
+</p>
+</div>
+</div>
+
+<div id="outline-container-sec-2" class="outline-2">
+<h2 id="sec-2"><span class="section-number-2">2</span> Software development</h2>
+<div class="outline-text-2" id="text-2">
+</div><div id="outline-container-sec-2-1" class="outline-3">
+<h3 id="sec-2-1"><span class="section-number-3">2.1</span> <span class="label label-primary TODO">TODO</span> </h3>
+<div class="outline-text-3" id="text-2-1">
+<ul class="org-ul">
+<li>partial (region) frame repaint
+</li>
+<li>antialiazing
+</li>
+</ul>
+</div>
+</div>
+<div id="outline-container-sec-2-2" class="outline-3">
+<h3 id="sec-2-2"><span class="section-number-3">2.2</span> Instructions to embed Sixth-3D in your project</h3>
+<div class="outline-text-3" id="text-2-2">
+<p>
+Maven *pom.xml* file snippet:
+</p>
+<div class="org-src-container">
+
+<pre class="src src-xml"><<span style="color: #A6E22E;">dependencies</span>>
...
- <<span style="color: #bc6ec5; font-weight: bold;">dependency</span>>
- <<span style="color: #bc6ec5; font-weight: bold;">groupId</span>>eu.svjatoslav</<span
- style="color: #bc6ec5; font-weight: bold;">groupId</span>>
- <<span style="color: #bc6ec5; font-weight: bold;">artifactId</span>>sixth-3d</<span
- style="color: #bc6ec5; font-weight: bold;">artifactId</span>>
- <<span style="color: #bc6ec5; font-weight: bold;">version</span>>1.0</<span
- style="color: #bc6ec5; font-weight: bold;">version</span>>
- </<span style="color: #bc6ec5; font-weight: bold;">dependency</span>>
+ <<span style="color: #A6E22E;">dependency</span>>
+ <<span style="color: #A6E22E;">groupId</span>>eu.svjatoslav</<span style="color: #A6E22E;">groupId</span>>
+ <<span style="color: #A6E22E;">artifactId</span>>sixth-3d</<span style="color: #A6E22E;">artifactId</span>>
+ <<span style="color: #A6E22E;">version</span>>1.0</<span style="color: #A6E22E;">version</span>>
+ </<span style="color: #A6E22E;">dependency</span>>
...
-</<span style="color: #bc6ec5; font-weight: bold;">dependencies</span>>
+</<span style="color: #A6E22E;">dependencies</span>>
-<<span style="color: #bc6ec5; font-weight: bold;">repositories</span>>
+<<span style="color: #A6E22E;">repositories</span>>
...
- <<span style="color: #bc6ec5; font-weight: bold;">repository</span>>
- <<span style="color: #bc6ec5; font-weight: bold;">id</span>>svjatoslav.eu</<span
- style="color: #bc6ec5; font-weight: bold;">id</span>>
- <<span style="color: #bc6ec5; font-weight: bold;">name</span>>Svjatoslav repository</<span
- style="color: #bc6ec5; font-weight: bold;">name</span>>
- <<span style="color: #bc6ec5; font-weight: bold;">url</span>>http://www2.svjatoslav.eu/maven/</<span
- style="color: #bc6ec5; font-weight: bold;">url</span>>
- </<span style="color: #bc6ec5; font-weight: bold;">repository</span>>
+ <<span style="color: #A6E22E;">repository</span>>
+ <<span style="color: #A6E22E;">id</span>>svjatoslav.eu</<span style="color: #A6E22E;">id</span>>
+ <<span style="color: #A6E22E;">name</span>>Svjatoslav repository</<span style="color: #A6E22E;">name</span>>
+ <<span style="color: #A6E22E;">url</span>>http://www2.svjatoslav.eu/maven/</<span style="color: #A6E22E;">url</span>>
+ </<span style="color: #A6E22E;">repository</span>>
...
-</<span style="color: #bc6ec5; font-weight: bold;">repositories</span>>
+</<span style="color: #A6E22E;">repositories</span>>
</pre>
- </div>
-
- <p>
- <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>
- </p>
- </div>
- </div>
</div>
-<div id="postamble" class="status">
- <p class="author">Author: Svjatoslav Agejenko</p>
- <p class="date">Created: 2016-08-03 Wed 23:15</p>
- <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
+
+<p>
+See <a href="codeGraph/index.html">generated code graph</a> using <a href="http://www2.svjatoslav.eu/gitbrowse/javainspect/doc/index.html">this tool</a>.
+</p>
+</div>
+</div>
+</div>
+</div><div class="col-md-3"><nav id="table-of-contents">
+<div id="text-table-of-contents" class="bs-docs-sidebar">
+<ul class="nav">
+<li><a href="#sec-1">1. Project description</a></li>
+<li><a href="#sec-2">2. Software development</a>
+<ul class="nav">
+<li><a href="#sec-2-1">2.1. </a></li>
+<li><a href="#sec-2-2">2.2. Instructions to embed Sixth-3D in your project</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</nav>
+</div></div></div>
+<footer id="postamble" class="">
+<div><p class="author">Author: Svjatoslav Agejenko</p>
+<p class="date">Created: 2017-03-06 Mon 10:18</p>
+<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 24.4.1 (<a href="http://orgmode.org">Org-mode</a> 8.2.10)</p>
</div>
+</footer>
</body>
</html>