3D Graphics: Difference between revisions

From OLPC
Jump to navigation Jump to search
(added quake game to list of software working on xo)
(Added list of 3D games working on the XO)
Line 20: Line 20:
* Fill rate -- flat shading, gouraud shading, z-buffered, textured, lit
* Fill rate -- flat shading, gouraud shading, z-buffered, textured, lit


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


What XO activities / software uses 3D graphics?
What XO activities / software uses 3D graphics?


[[Bounce]]
* [[Bounce]]
* [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)]

* Blender 3D
[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)]
* [[Doom]]

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


== Pre-rendering 3D ==
== Pre-rendering 3D ==

Revision as of 22:00, 1 October 2009

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.

3D Graphics APIs

Which API should we use?

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.

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 (tested successfully on the XO-1)

What XO activities / software uses 3D graphics?

Pre-rendering 3D

The VRM plugin for the 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.