3D Graphics: Difference between revisions

From OLPC
Jump to navigation Jump to search
(added quake game to list of software working on xo)
(Add details on progress of 3D on XO)
 
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
The XO has no built in 3D accelerator, but that doesn't mean that it can't do 3D graphics! This page is for those of us working to bring 3D graphics to the XO.
The XO has no built in 3D accelerator, but that doesn't mean that it can't do 3D graphics! This page is for those of us working to bring 3D graphics to the XO.
== Current state of 3D on XO ==
All OLPC laptop current models(XO-1, XO-1.5, XO-1.75) don't have 3D acceleration hardware (GPU/ 3D graphic card) commonly
found on today computers and probably won't be added in future models to reduce costs or battery consumption.
According to testing most modern 3D games or graphics that use OpenGL won't run at all or even simple 3D cube will run extremly slow
on the laptop.
To overcome this limitation a possible solution is to use some 3D game that use in addiction to OpenGL a Software render engine.


{{WikipediaSummary
== 3D Graphics APIs ==
| wikipage = http://en.wikipedia.org/wiki/Software_rendering
| summary = '''Software rendering'''


Software rendering refers to a rendering process that is unaided by any specialized graphics hardware, such as a graphics card. The rendering takes place entirely in the CPU. Rendering everything with the (general-purpose) CPU has the main advantage that it is not restricted to the (limited) capabilities of graphics hardware.
Which API should we use?


}}
* [http://www.opengl.org/ OpenGL]
* [http://www.khronos.org/opengles/ OpenGL ES]
* [http://fabrice.bellard.free.fr/TinyGL/ TinyGL]
* [http://www.tungstengraphics.com/gallium3D.htm/ Gallium3D]


I'd recommend OpenGL ES - it is already in common usage on mobile devices so is already being optimized for low power systems. Also it has fewer functions that need to be implemented. Gallium3d might also be an option.


== Software (tested successfully on the XO-1) ==
== Benchmarks ==

What can we use to benchmark the XO's 3D graphics performance?

We're probably mostly interested in:
* Transform rate
* Fill rate -- flat shading, gouraud shading, z-buffered, textured, lit

== Software ==


What XO activities / software uses 3D graphics?
What XO activities / software uses 3D graphics?
Those games are not suitable for children due to violence, but since they have been released as open source,they can be modified and used as a base or framework to build new educational games and simulations.


* Blender 3D (very slow)
[[Bounce]]
* Doom

* Quake I
[http://129.69.35.12/dune/docs/usage_docs_0.29beta1234/dune4kids_tutorial_en.html white_dune (4kids)] [http://129.69.35.12/dune/white_dune_olpc-0.29beta1327-1.i386.rpm (white_dune OLPC rpm download)]
* Quake II

* Hexen II
[[Projects/abcube|3D educational game using Quake engine]]

== Pre-rendering 3D ==

The [http://shell.studenti.unina.it/~ospite/vrm/ VRM plugin] for the [http://www.blender.org/ Blender 3D editor] renders some 3D to SVG. Which can then be used with cairo/rsvg in writing activities. The plugin is a work in progress, but development is active, and it's written in python.




[[Category:Software ideas]]
[[Category:Software ideas ]]
[[Category:Software development]]

Latest revision as of 14:34, 24 September 2012

The XO has no built in 3D accelerator, but that doesn't mean that it can't do 3D graphics! This page is for those of us working to bring 3D graphics to the XO.

Current state of 3D on XO

All OLPC laptop current models(XO-1, XO-1.5, XO-1.75) don't have 3D acceleration hardware (GPU/ 3D graphic card) commonly found on today computers and probably won't be added in future models to reduce costs or battery consumption. According to testing most modern 3D games or graphics that use OpenGL won't run at all or even simple 3D cube will run extremly slow on the laptop. To overcome this limitation a possible solution is to use some 3D game that use in addiction to OpenGL a Software render engine.

Wikipedia
Software rendering Software rendering refers to a rendering process that is unaided by any specialized graphics hardware, such as a graphics card. The rendering takes place entirely in the CPU. Rendering everything with the (general-purpose) CPU has the main advantage that it is not restricted to the (limited) capabilities of graphics hardware.

This article contains content from a Wikipedia article which is licensed under the GNU Free Documentation License.



Software (tested successfully on the XO-1)

What XO activities / software uses 3D graphics? Those games are not suitable for children due to violence, but since they have been released as open source,they can be modified and used as a base or framework to build new educational games and simulations.

  • Blender 3D (very slow)
  • Doom
  • Quake I
  • Quake II
  • Hexen II