Updates to the SOIL image lib: mipmaps, core opengl
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
projects perf test refactoring, project dependencies Oct 5, 2013
src perf test refactoring, project dependencies Oct 5, 2013
.gitignore initial commit, original code, but added VC11 solution Aug 15, 2013
LICENSE changes created by darkfall3, added OSX test, OSX proc loading Sep 5, 2013
SOIL_test add Xcode project; add OS X test binary Sep 5, 2013
field_128_cube.dds initial commit, original code, but added VC11 solution Aug 15, 2013
img_cheryl.jpg initial commit, original code, but added VC11 solution Aug 15, 2013
img_test.bmp initial commit, original code, but added VC11 solution Aug 15, 2013
img_test.dds initial commit, original code, but added VC11 solution Aug 15, 2013
img_test.png initial commit, original code, but added VC11 solution Aug 15, 2013
img_test.tga initial commit, original code, but added VC11 solution Aug 15, 2013
img_test_indexed.tga initial commit, original code, but added VC11 solution Aug 15, 2013
lenna1.jpg project clean up (output and temp dirs), perf_tests improvements, add… Sep 28, 2013
lenna2.jpg project clean up (output and temp dirs), perf_tests improvements, add… Sep 28, 2013
lenna3.jpg project clean up (output and temp dirs), perf_tests improvements, add… Sep 28, 2013
lennabig.jpg project clean up (output and temp dirs), perf_tests improvements, add… Sep 28, 2013
readme.md small updates Sep 26, 2013
soil.html initial commit, original code, but added VC11 solution Aug 15, 2013
testSOIL.exe initial commit, original code, but added VC11 solution Aug 15, 2013
test_rect.png initial commit, original code, but added VC11 solution Aug 15, 2013

readme.md

#Simple OpenGL Image Library Ext# The original SOIL from July 7, 2008 is released with Public Domain Licence.

The Ext version contains the following changes:

  • [in progress] Added option to use immutable texture storage
  • When possible (when extension is supported) library can create texture using glTextureStorage and then call glTexSubImage.
  • See more here OpenGL wiki
  • [done] Mipmap generation using glGenerateMipmap
  • Original library scaled image to be POT and then used custom procedure to generate mipmaps. This can take some time.
  • This change uses glGenerateMipmapEXT (if GL_EXT_framebuffer_object extension is available). This way Soil can create mipmaps for NPOT textures and use hardware support.
  • New flag is added: SOIL_FLAG_GL_MIPMAPS. It can be passed to the SOIL_load_OGL_texture* procedures. If the extension (GL_EXT_framebuffer_object) is not supported then function uses the same process as when passing SOIL_FLAG_MIPMAPS.
  • [done] upgraded to the version 1.33 of stb_image
  • stb_image_write.c/.h were created. Those files contain missing functionality that was cut from the newer version of stbi (cut in 1.22)
  • [done] Using only Modern OpenGL functionalities (when possible)
  • CLAMP_TO_EDGE instead of GL_CLAMP
  • glGetStringi instead of glGetString(GL_EXTENSIONS)
  • [done] Visual Studio 2012 Express solution
  • It compiles without any warnings: used _CRT_SECURE_NO_WARNINGS and several code changes regarding int/float cast and signed/unsigned comparisons.
  • Added test_soil project to the solution. Console is showed to display basic loader info.
  • Building with Debug Information Format set to "" (Empty). That way output file is smaller and there are no warnings about missing pdb files.
  • [done] Added test_perf_SOIL test project
  • Tests performance of SOIL_FLAG_GL_MIPMAPS vs SOIL_FLAG_MIPMAPS
  • Loads 10... or 100 textures and measures elapsed time.

###Notes###

  • Original functionality is preserved and should work as expected.
  • Doc comments were updated to describe changes
  • Needs more testing :)