X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth-3d.git;a=blobdiff_plain;f=doc%2Findex.org;fp=doc%2Findex.org;h=a5a53e442df389ccace1078c46715482ae46bc74;hp=2f9bba17b20156d9e85098beb499cd3469e1589f;hb=28aff57371061764b5c01fcc535f621824a62c2d;hpb=746baf8325af6a3a2d104af274c0632c82dbafa2 diff --git a/doc/index.org b/doc/index.org index 2f9bba1..a5a53e4 100644 --- a/doc/index.org +++ b/doc/index.org @@ -27,16 +27,38 @@ #+HTML_HEAD: * Project description -In-software, pure Java realtime 3D rendering engine. With the final ++ See: [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html][demos of current 3D engine capabilities]] + +[[id:d03013e5-931b-40ca-bc4b-e4b3f23b9a4e][In software]], [[id:a11f7150-1b25-4ca4-a3c3-8c8bd1352bd4][pure Java]] realtime 3D rendering engine. With the final goal of becoming a platform for buildng 3D user interfaces and -interactive data visualization. +interactive data visualization for [[http://www2.svjatoslav.eu/gitbrowse/sixth/doc/index.html][project Sixth]]. -+ See: [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html][demos of current 3D engine capabilities]] +Sixth 3D can be also used as standalone [[id:08f71987-90af-40dc-bb65-bac87db9e652][3D engine in your project]]. +** Justification for software rendering + :PROPERTIES: + :ID: d03013e5-931b-40ca-bc4b-e4b3f23b9a4e + :END: +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. -System is implemented in Java because: +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 freely test different rendering and +optimization algorithms and retains complete control of every rendered +pixel. +** Justification for Java + :PROPERTIES: + :ID: a11f7150-1b25-4ca4-a3c3-8c8bd1352bd4 + :END: - 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). @@ -54,22 +76,16 @@ System is implemented in Java because: - As a result it is 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. - -CPU rendering performance is already good enough to implement usable -3D UI at sufficient detail level, resolution and frame rate. - -Pure Java also means easy portability and installation. No need to -deal with platform specific dependencies. - -Also CPU rendering allows to easily test different rendering -algorithms and retains complete control of every rendered pixel. - +* TODO API documentation +Documentation currently missing for the lack of time. +So far best resource is to download and explore source code for: ++ 3D engine ([[file:codeGraph/index.html][generated code graph]] (generated using [[http://www2.svjatoslav.eu/gitbrowse/javainspect/doc/index.html][this tool]])) ++ For API usage examples, see [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html][demos]]. * Instructions to embed Sixth-3D in your project + :PROPERTIES: + :ID: 08f71987-90af-40dc-bb65-bac87db9e652 + :END: Maven *pom.xml* file snippet: #+BEGIN_SRC xml @@ -77,7 +93,7 @@ Maven *pom.xml* file snippet: eu.svjatoslav sixth-3d - 1.0 + 1.1 ... @@ -93,7 +109,7 @@ Maven *pom.xml* file snippet: #+END_SRC -See [[file:codeGraph/index.html][generated code graph]] using [[http://www2.svjatoslav.eu/gitbrowse/javainspect/doc/index.html][this tool]]. +For API usage examples, see [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d-demos/doc/index.html][demos]]. * TODO features to add + Partial region/frame repaint: when only one small object changed on the scene, it would be faster to re-render that specific area.