Mercurial > love-experiments
diff src/modules/graphics/opengl/Graphics.cpp @ 1420:2a5ef265e040 image-CompressedData
Added support for DXT1/3/5 and BC5/7 compressed textures via love.image.CompressedData. Some internals are still iffy.
- added a new CompressedData type to love.image
- added love.image.isCompressed(file or data)
- love.graphics.newImage automatically tests for compression when loading a file
- added love.graphics.isSupported strings for DXT, BC5, and BC7
Compressed textures meant to be used on the GPU offer huge performance gains when
- loading the texture from a file
- loading the texture from RAM to VRAM
- loading mipmaps
- rendering
| author | Alex Szpakowski <slime73@gmail.com> |
|---|---|
| date | Thu, 04 Apr 2013 19:09:18 -0300 |
| parents | 357697c2e2a8 |
| children | aa603d1b03bc |
line wrap: on
line diff
--- a/src/modules/graphics/opengl/Graphics.cpp Mon Apr 01 16:47:45 2013 -0300 +++ b/src/modules/graphics/opengl/Graphics.cpp Thu Apr 04 19:09:18 2013 -0300 @@ -373,6 +373,29 @@ return image; } +Image *Graphics::newImage(love::image::CompressedData *cdata) +{ + // Create the image. + Image *image = new Image(cdata); + bool success; + try + { + success = image->load(); + } + catch(love::Exception &) + { + image->release(); + throw; + } + if (!success) + { + image->release(); + return 0; + } + + return image; +} + Quad *Graphics::newQuad(float x, float y, float w, float h, float sw, float sh) { Quad::Viewport v;
