X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=doc%2Findex.html;h=e49cd2a46edaa9cacf3a84c2c4a15f1ab2466173;hb=HEAD;hp=afcce63e5ab8ccfed7e20d2dea6f289c6e54724e;hpb=581fa47296d1c583331b454eae59d5555d432b1a;p=sixth-3d.git diff --git a/doc/index.html b/doc/index.html index afcce63..e49cd2a 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,349 +1,479 @@ - - + + + + + + Sixth 3D - 3D engine - - - - - - - -" - - - + + + + + -
-

Sixth 3D - 3D engine

-
- +
-
-

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

+
+
+
+
+
+

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.
  • -
    -

    2 Software development

    -
    -
    -

    2.1 TODO

    -
    +
  • Easy portability and installation. No need to deal with platform +specific dependencies.
  • + +
  • It scales well to handle great complexity.
      -
    • partial (region) frame repaint -
    • -
    • antialiazing -
    • +
    • 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.
-
-

2.2 Instructions to embed Sixth-3D in your project

-
+
+ +
+

3. API documentation

+
+ +

-Maven *pom.xml* file snippet: +Note: due to a lack of time, there is still big room for improvement +on documentation.

-
-
<dependencies>
+

+So far best resource is to download and explore source code for: +

+ +
+
+
+

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>
-    </dependency>
+    <dependency>
+        <groupId>eu.svjatoslav</groupId>
+        <artifactId>sixth-3d</artifactId>
+        <version>1.2</version>
+    </dependency>
     ...
-</dependencies>
+</dependencies>
 
-<repositories>
+<repositories>
     ...
-    <repository>
-        <id>svjatoslav.eu</id>
-        <name>Svjatoslav repository</name>
-        <url>http://www2.svjatoslav.eu/maven/</url>
-    </repository>
+    <repository>
+        <id>svjatoslav.eu</id>
+        <name>Svjatoslav repository</name>
+        <url>http://www3.svjatoslav.eu/maven/</url>
+    </repository>
     ...
-</repositories>
+</repositories>
 

-See generated code graph using this tool. +For API usage examples, see demos.

-
-
-
- +
+
+
+

Author: Svjatoslav Agejenko

+

Created: 2024-04-25 Thu 17:15

+

Validate

+