Texture Manager and OpenGLGraphic description

From LinuxMCE
Revision as of 15:58, 14 September 2006 by Wikiadmin (Talk | contribs)

(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search
This page was written by Pluto and imported with their permission when LinuxMCE branched off in February, 2007. In general any information should apply to LinuxMCE. However, this page should be edited to reflect changes to LinuxMCE and remove old references to Pluto.
TextureManager class

Texturing mechanism in OpenGL is next: - read the data in a buffer where you know the format (for instance RGB or RGBA) - convert it from pixel surface to a texture - get an index that may be used to "paint the geometry" using glEnable(GL_TEXTURE_2D) call using different parameters, as current color, transparency, etc.

Restrictions of OpenGL implementation: - OpenGL should be implemented in it's own thread, else the convert textures will not appear to the drawing. The conclusion is simple, - the textures should be sized as power of two, etc. and the scalling may take time to complete

The flow is next: - OpenGLEngine creates an TextureManager - at every frame at start we should

Manages multiple graphics and geometry lists: - texture for pending std::list <OpenGLGraphic*> WaitForConvert; std::list <OpenGLTexture> WaitForRelease; std::map<std::string, MeshFrame*> Graphics;