Coder Social home page Coder Social logo

soil_ext's Introduction

#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 :)

soil_ext's People

Contributors

darkfall avatar fenbf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.