The graphic engine currently has 2 parts:
- nuiDrawContext and some other classes (nuiShape, etc.) handle the high level rendering operations.
- nuiPainter and its subclasses handle the low level interaction with the hardware thru tree backends:
- nuiGLPainter: the more mature implementation based on OpenGL.
- nuiSoftwarePainter: full software implementation, quite slow compared to GL and still has some bugs.
- nuiD3dPainter: Direct3D implementation. Started in fall 2008. Quite useable already while not perfect.