{"id":19485155,"url":"https://github.com/fenbf/soil_ext","last_synced_at":"2025-04-25T16:34:04.806Z","repository":{"id":141189975,"uuid":"12571762","full_name":"fenbf/SOIL_ext","owner":"fenbf","description":"Updates to the SOIL image lib: mipmaps, core opengl","archived":false,"fork":false,"pushed_at":"2013-10-05T16:25:48.000Z","size":1440,"stargazers_count":15,"open_issues_count":0,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2023-10-20T19:49:14.759Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fenbf.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-03T18:40:08.000Z","updated_at":"2023-10-20T19:49:14.760Z","dependencies_parsed_at":"2023-03-13T10:34:57.389Z","dependency_job_id":null,"html_url":"https://github.com/fenbf/SOIL_ext","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenbf%2FSOIL_ext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenbf%2FSOIL_ext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenbf%2FSOIL_ext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenbf%2FSOIL_ext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fenbf","download_url":"https://codeload.github.com/fenbf/SOIL_ext/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224010218,"owners_count":17240706,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T20:26:04.550Z","updated_at":"2024-11-10T20:26:05.185Z","avatar_url":"https://github.com/fenbf.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"#Simple OpenGL Image Library *Ext*#\n[The original SOIL from July 7, 2008](http://www.lonesock.net/soil.html) is released with **Public Domain Licence**.\n\nThe **Ext** version contains the following changes:\n\n* **[in progress]** Added option to use immutable texture storage\n * When possible (when extension is supported) library can create texture using glTextureStorage and then call glTexSubImage.\n * See more here [OpenGL wiki](http://www.opengl.org/wiki/Texture_Storage)\n* **[done]** Mipmap generation using glGenerateMipmap\n * Original library scaled image to be POT and then used custom procedure to generate mipmaps. This can take some time.\n * 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.\n * 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**.\n* **[done]** upgraded to the version **1.33** of [stb_image](http://www.nothings.org/stb_image.c)\n * 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)  \n* **[done]** Using only Modern OpenGL functionalities (when possible)\n * *CLAMP\\_TO\\_EDGE* instead of *GL\\_CLAMP*\n *  *glGetStringi* instead of *glGetString(GL\\_EXTENSIONS)* \n* **[done]** Visual Studio 2012 Express solution\n * It compiles without any warnings: used *\\_CRT\\_SECURE\\_NO\\_WARNINGS* and several code changes regarding *int/float* cast and *signed/unsigned* comparisons.\n * Added **test_soil** project to the solution. Console is showed to display basic loader info.\n * Building with `Debug Information Format` set to `\"\"` (Empty). That way output file is smaller and there are no warnings about missing pdb files.\n* **[done]** Added test\\_perf\\_SOIL test project\n * Tests performance of **SOIL\\_FLAG\\_GL\\_MIPMAPS** vs **SOIL\\_FLAG\\_MIPMAPS**\n * Loads 10... or 100 textures and measures elapsed time.\n\n###Notes###\n* Original functionality is preserved and should work as expected.\n* Doc comments were updated to describe changes\n* Needs more testing :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffenbf%2Fsoil_ext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffenbf%2Fsoil_ext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffenbf%2Fsoil_ext/lists"}