All Projects → littlstar → soil

littlstar / soil

Licence: MIT License
Simple OpenGL Image Library

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to soil

android-3d-model-viewer
Android app to load 3D models in obj, stl, dae & gltf format using pure OpenGL ES 2.0. Published on Play Store https://play.google.com/store/apps/details?id=org.andresoviedo.dddmodel2
Stars: ✭ 150 (+114.29%)
Mutual labels:  texture
Vanilla-Raytraced
Official repository of Vanilla Raytraced resources pack.
Stars: ✭ 25 (-64.29%)
Mutual labels:  texture
demo-models
Demo 3D models (mostly in X3D and VRML formats) of view3dscene and Castle Game Engine
Stars: ✭ 15 (-78.57%)
Mutual labels:  texture
EnvMapTooL
No description or website provided.
Stars: ✭ 25 (-64.29%)
Mutual labels:  texture
RxCocoa-Texture
RxCocoa Extension Library for Texture.
Stars: ✭ 98 (+40%)
Mutual labels:  texture
texture
Texture JATS XML editor integration for OJS
Stars: ✭ 18 (-74.29%)
Mutual labels:  texture
UnityTexTool
Compress, decompress and convert Unity3D Texture2D files (unpacked from raw *.assets packs)
Stars: ✭ 24 (-65.71%)
Mutual labels:  texture
texture-morpher
A solution to panorama transition problem (with a tool to make morphable texture) 解决全景过渡不自然的问题
Stars: ✭ 16 (-77.14%)
Mutual labels:  texture
ShapeTextureDebiasedTraining
Code and models for the paper Shape-Texture Debiased Neural Network Training (ICLR 2021)
Stars: ✭ 95 (+35.71%)
Mutual labels:  texture
Paint3D
A program allowing painting textures of different channels SIMULTANEOUSLY on a 3d model
Stars: ✭ 24 (-65.71%)
Mutual labels:  texture
rectangle-pack
A general purpose, deterministic bin packer designed to conform to any two or three dimensional use case.
Stars: ✭ 60 (-14.29%)
Mutual labels:  texture
UnityTexture3DAtlasImportPipeline
A Texture3D Atlas Import Pipeline for Unity 2019.3 and newer.
Stars: ✭ 24 (-65.71%)
Mutual labels:  texture
SKTextureGradient
A SpriteKit SKTexture Gradient
Stars: ✭ 27 (-61.43%)
Mutual labels:  texture
Aqeous
(Inactive, Checkout AvanaOS, Rewrite of this) This is a New Operating System (Kernel right now). Made completely from scratch, We aim to make a complete OS for Learning purpose
Stars: ✭ 23 (-67.14%)
Mutual labels:  clib
OBNI
Objet Bruité Non Identifié - Unity displacement shader
Stars: ✭ 28 (-60%)
Mutual labels:  texture
IGListKit-AsyncDisplayKit-Example
IGListKit be used with AsyncDisplayKit in Swift
Stars: ✭ 34 (-51.43%)
Mutual labels:  texture
GPU-Zen-2-Baker
🥧 An OpenGL 4.x example of GPU Zen 2's ray casting techniques for baked texture generation chapter.
Stars: ✭ 32 (-54.29%)
Mutual labels:  texture
ITKTextureFeatures
Fast, Texture Feature Maps from N-Dimensional Images
Stars: ✭ 16 (-77.14%)
Mutual labels:  texture
ccxx
This is a cross-platform library software library about c, c ++, unix4, posix. Include gtest, benchmark, cmake, process lock, daemon, libuv, lua, cpython, re2, json, yaml, mysql, redis, opencv, qt, lz4, oci ... https://hub.docker.com/u/oudream
Stars: ✭ 31 (-55.71%)
Mutual labels:  clib
UE4-BUIValidator
UE4 UI Texture Validator Plugin
Stars: ✭ 48 (-31.43%)
Mutual labels:  texture

Simple OpenGL Image Library (SOIL)

Introduction

SOIL is a tiny C library used primarily for uploading textures into OpenGL. It is based on stb_image version 1.16, the public domain code from Sean Barrett (found here). It has been extended to load TGA and DDS files, and to perform common functions needed in loading OpenGL textures. SOIL can also be used to save and load images in a variety of formats.

Installation

With clib:

$ clib install littlstar/soil --save

From source:

$ make
$ make install

Usage

SOIL is meant to be used as a static library (as it's tiny and in the public domain).

Simply #include <SOIL/SOIL.h> in your C or C++ file, link in the static library, and then use any of SOIL's functions. The file <SOIL/SOIL.h contains simple doxygen style documentation. (If you use the static library, no other header files are needed besides SOIL.h)

Features

  • No external dependencies
  • Tiny
  • Cross platform (Windows, *nix, Mac OS X)
  • Public Domain
  • Can load an image file directly into a 2D OpenGL texture
  • Can generate a new texture handle, or reuse one specified
  • Can automatically rescale the image to the next largest power-of-two size
  • Can automatically create MIPmaps
  • Can scale (not simply clamp) the RGB values into the "safe range" for NTSC displays (16 to 235, as recommended here)
  • Can multiply alpha on load (for more correct blending / compositing)
  • Can flip the image vertically
  • Can compress and upload any image as DXT1 or DXT5 (if EXT_texture_compression_s3tc is available), using an internal (very fast!) compressor
  • Can convert the RGB to YCoCg color space (useful with DXT5 compression: see this link from NVIDIA)
  • Will automatically downsize a texture if it is larger than GL_MAX_TEXTURE_SIZE
  • Can directly upload DDS files (DXT1/3/5/uncompressed/cubemap, with or without MIPmaps). Note: directly uploading the compressed DDS image will disable the other options (no flipping, no pre-multiplying alpha, no rescaling, no creation of MIPmaps, no auto-downsizing)
  • Can load rectangluar textures for GUI elements or splash screens (requires GL_ARB/EXT/NV_texture_rectangle)
  • Can decompress images from RAM (e.g. via PhysicsFS or similar) into an OpenGL texture (same features as regular 2D textures, above)
  • Can load cube maps directly into an OpenGL texture (same features as regular 2D textures, above)
  • Can take six image files directly into an OpenGL cube map texture
  • Can take a single image file where width = 6 * height (or vice versa), split it into an OpenGL cube map texture

Readable Image Formats

  • BMP - non-1bpp, non-RLE (from stb_image documentation)
  • PNG - non-interlaced (from stb_image documentation)
  • JPG - JPEG baseline (from stb_image documentation)
  • TGA - greyscale or RGB or RGBA or indexed, uncompressed or RLE
  • DDS - DXT1/2/3/4/5, uncompressed, cubemaps (can't read 3D DDS files yet)
  • PSD - (from stb_image documentation)
  • HDR - converted to LDR, unless loaded with HDR functions (RGBE or RGBdivA or RGBdivA2)

Writeable Image Formats

  • TGA - Greyscale or RGB or RGBA, uncompressed
  • BMP - RGB, uncompressed
  • DDS - RGB as DXT1, or RGBA as DXT5

License

Public Domain

Originally sourced from https://github.com/paralin/soil

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].