Sixth 3D - 3D engine
--
-
-
- This is a subproject of Sixth
++
Sixth 3D - 3D engine
+++ +Table of Contents
+++-
+
- 1. General + - -
- download latest snapshot +
- 2. Project description + - -
- This program is free software; you can redistribute it and/or modify it under -the terms of version 3 of the GNU Lesser General Public License or later as -published by the Free Software Foundation. +
- 3. API documentation +
- 4. Instructions to embed Sixth-3D in your project +
- 5. TODO features to add + +
+1. General
++--
+
- This program is free software: released under Creative Commons Zero +(CC0) license
- Program author:
-
-
- Svjatoslav Agejenko - -
- Homepage: http://svjatoslav.eu - -
- Email: mailto://svjatoslav@svjatoslav.eu - -
+ - Svjatoslav Agejenko +
- Homepage: https://svjatoslav.eu +
- Email: mailto://svjatoslav@svjatoslav.eu +
- other applications hosted at svjatoslav.eu -
+- Other software projects hosted at svjatoslav.eu
+-1 Project description
--+-In software, pure Java realtime 3D rendering engine. With the final goal of -becoming a platform for buildng 3D user interfaces. +
++1.1. Source code
+++-
+
- Download latest snapshot in TAR GZ format + +
- Browse Git repository online + +
+Clone Git repository using command:
++git clone https://www2.svjatoslav.eu/git/sixth-3d.git +
-- See: demos of current 3D engine capabilities - +
- See JavaDoc.
-
-
++ +2. Project description
+++-System is implemented in Java because: +In software, pure Java realtime 3D rendering engine. With the final +goal of becoming a platform for buildng 3D user interfaces and +interactive data visualization for project Sixth.
--
-
- It scales well to handle great complexity. - -
- It is easy to refactor and experiment with. - -
- It is fast enough thanks to Java virtual machine just-in-time compiler. - -
- Easy to run on various hardware platforms and operating systems. - -
-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. +Sixth 3D can be also used as standalone 3D engine in your project.
+++2.1. Justification for software rendering
+-CPU rendering performance is already good enough to implement usable 3D UI at -sufficient detail level, resolution and frame rate. +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.
-Pure Java also means easy portability and installation. No need to deal with -platform specific dependencies. +CPU rendering performance is already good enough to implement usable +3D UI at sufficient detail level, resolution and frame rate.
-Also CPU rendering allows to easily test different rendering algorithms and -retains complete control of every rendered pixel. +Also CPU rendering allows to freely test different rendering and +optimization algorithms and retains complete control of every rendered +pixel.
++2.2. Justification for Java
+++-
+
- It is easy to refactor and experiment with. + +
- Easy portability and installation. No need to deal with platform +specific dependencies. + +
- It scales well to handle great complexity.
+
-
+
- Allows to implement clever performance optimizations (instead of +going for GPU offered brute-force rendering approach). +
+
+ - No limitations imposed by:
+
-
+
- requirement for decent GPU +
- GPU missing features +
- GPU missing/incomplete/buggy drivers +
- OpenGL specification +
+
+ - It is fast enough thanks to:
+
-
+
- Java virtual machine just-in-time compiler. +
- Growing CPU cores count. +
+
+ - As a result it is easy to run on various hardware platforms and +operating systems. +
+3. API documentation
+++-
+
- See JavaDoc. +
--2 Software development
--Instructions to embed Sixth-3D in your project as a library. Maven *pom.xml* -file snippet: +Note: due to a lack of time, there is still big room for improvement +on documentation.
-+++So far best resource is to download and explore source code for: +
+-
+
- 3D engine (generated code graphs (generated using JavaInspect)) +
- For API usage examples, see demos +
+-4. Instructions to embed Sixth-3D in your project
+++Maven pom.xml file snippet: +
+<dependencies> ... <dependency> <groupId>eu.svjatoslav</groupId> <artifactId>sixth-3d</artifactId> - <version>1.0</version> + <version>1.2</version> </dependency> ... </dependencies> @@ -299,7 +389,7 @@ file snippet: <repository> <id>svjatoslav.eu</id> <name>Svjatoslav repository</name> - <url>http://www2.svjatoslav.eu/maven/</url> + <url>http://www3.svjatoslav.eu/maven/</url> </repository> ... </repositories> @@ -307,24 +397,83 @@ file snippet:
-See generated code graph using this tool. +For API usage examples, see demos.
+- +Created: 2022-07-13 Wed 04:16
+