https://bugs.documentfoundation.org/show_bug.cgi?id=92019

            Bug ID: 92019
           Summary: Implement texture atlas for OpenGL
           Product: LibreOffice
           Version: unspecified
          Hardware: Other
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: graphics stack
          Assignee: [email protected]
          Reporter: [email protected]

Currently all OpenGL textures are uploaded as single textures. This leads to
some problems in the long run as you get texture fragmentation and miss the
chance to save expensive OpenGL calls.

Ideally we would use texture atlases that contain several textures and we would
use the uv coordinates to select the correct texture.

In the beginning I think it would be good to start with fixed size texture
atlases for the 16x16 textures (maybe also 24x24). Writing a texture atlas for
these sizes should be a lot easier as they should fit nicely into power of 2
textures and you don't need to implement an algorithm to place the texture into
the atlas.

A followup task might be to write some code to find out who is using these
textures and if we can save some of the unnecessary calls by combining as many
calls into the atlas as possible.

Some background information:

http://en.wikipedia.org/wiki/Texture_atlas
http://http.download.nvidia.com/developer/NVTextureSuite/Atlas_Tools/Texture_Atlas_Whitepaper.pdf

The starting point for this would be our OpenGLTexture class. Most likely you
want to hide whether the implementation uses a normal texture or a texture
atlas. So I would start by abstracting teh interface and provide two
implementations for the interface.

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to