|
|
|
@ -20,54 +20,35 @@ by Jorge L. "VinoBS" Rodriguez, and stb_sprintf by Jeff Roberts. |
|
|
|
|
|
|
|
|
|
library | lastest version | category | LoC | description |
|
|
|
|
--------------------- | ---- | -------- | --- | -------------------------------- |
|
|
|
|
<<<<<<< HEAD |
|
|
|
|
**[stb_vorbis.c](stb_vorbis.c)** | 1.21 | audio | 5569 | decode ogg vorbis files from file/memory to float/16-bit signed output |
|
|
|
|
**[stb_image.h](stb_image.h)** | 2.26 | graphics | 7762 | image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC, PNM |
|
|
|
|
**[stb_truetype.h](stb_truetype.h)** | 1.24 | graphics | 5011 | parse, decode, and rasterize characters from truetype fonts |
|
|
|
|
**[stb_image_write.h](stb_image_write.h)** | 1.15 | graphics | 1690 | image writing to disk: PNG, TGA, BMP, JPG, HDR |
|
|
|
|
**[stb_image_resize.h](stb_image_resize.h)** | 0.96 | graphics | 2631 | resize images larger/smaller with good quality |
|
|
|
|
**[stb_rect_pack.h](stb_rect_pack.h)** | 1.00 | graphics | 628 | simple 2D rectangle packer with decent quality |
|
|
|
|
**[stb_ds.h](stb_ds.h)** | 0.66 | utility | 1893 | typesafe dynamic array and hash tables for C, will compile in C++ |
|
|
|
|
**[stb_sprintf.h](stb_sprintf.h)** | 1.09 | utility | 1879 | fast sprintf, snprintf for C/C++ |
|
|
|
|
**[stb_textedit.h](stb_textedit.h)** | 1.13 | user interface | 1404 | guts of a text editor for games etc implementing them from scratch |
|
|
|
|
**[stb_vorbis.c](stb_vorbis.c)** | 1.22 | audio | 5584 | decode ogg vorbis files from file/memory to float/16-bit signed output |
|
|
|
|
**[stb_image.h](stb_image.h)** | 2.27 | graphics | 7890 | image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC |
|
|
|
|
**[stb_truetype.h](stb_truetype.h)** | 1.25 | graphics | 5011 | parse, decode, and rasterize characters from truetype fonts |
|
|
|
|
**[stb_image_write.h](stb_image_write.h)** | 1.16 | graphics | 1724 | image writing to disk: PNG, TGA, BMP |
|
|
|
|
**[stb_image_resize.h](stb_image_resize.h)** | 0.97 | graphics | 2634 | resize images larger/smaller with good quality |
|
|
|
|
**[stb_rect_pack.h](stb_rect_pack.h)** | 1.01 | graphics | 623 | simple 2D rectangle packer with decent quality |
|
|
|
|
**[stb_ds.h](stb_ds.h)** | 0.67 | utility | 1895 | typesafe dynamic array and hash tables for C, will compile in C++ |
|
|
|
|
**[stb_sprintf.h](stb_sprintf.h)** | 1.10 | utility | 1906 | fast sprintf, snprintf for C/C++ |
|
|
|
|
**[stb_textedit.h](stb_textedit.h)** | 1.14 | user interface | 1429 | guts of a text editor for games etc implementing them from scratch |
|
|
|
|
**[stb_voxel_render.h](stb_voxel_render.h)** | 0.89 | 3D graphics | 3807 | Minecraft-esque voxel rendering "engine" with many more features |
|
|
|
|
**[stb_dxt.h](stb_dxt.h)** | 1.10 | 3D graphics | 753 | Fabian "ryg" Giesen's real-time DXT compressor |
|
|
|
|
**[stb_dxt.h](stb_dxt.h)** | 1.11 | 3D graphics | 718 | Fabian "ryg" Giesen's real-time DXT compressor |
|
|
|
|
**[stb_perlin.h](stb_perlin.h)** | 0.5 | 3D graphics | 428 | revised Perlin noise (3D input, 1D output) |
|
|
|
|
**[stb_easy_font.h](stb_easy_font.h)** | 1.1 | 3D graphics | 305 | quick-and-dirty easy-to-deploy bitmap font for printing frame rate, etc |
|
|
|
|
**[stb_tilemap_editor.h](stb_tilemap_editor.h)** | 0.41 | game dev | 4161 | embeddable tilemap editor |
|
|
|
|
**[stb_tilemap_editor.h](stb_tilemap_editor.h)** | 0.42 | game dev | 4187 | embeddable tilemap editor |
|
|
|
|
**[stb_herringbone_wa...](stb_herringbone_wang_tile.h)** | 0.7 | game dev | 1221 | herringbone Wang tile map generator |
|
|
|
|
**[stb_c_lexer.h](stb_c_lexer.h)** | 0.11 | parsing | 966 | simplify writing parsers for C-like languages |
|
|
|
|
**[stb_divide.h](stb_divide.h)** | 0.93 | math | 430 | more useful 32-bit modulus e.g. "euclidean divide" |
|
|
|
|
**[stb_c_lexer.h](stb_c_lexer.h)** | 0.12 | parsing | 940 | simplify writing parsers for C-like languages |
|
|
|
|
**[stb_divide.h](stb_divide.h)** | 0.94 | math | 433 | more useful 32-bit modulus e.g. "euclidean divide" |
|
|
|
|
**[stb_connected_comp...](stb_connected_components.h)** | 0.96 | misc | 1049 | incrementally compute reachability on grids |
|
|
|
|
**[stb.h](stb.h)** | 2.37 | misc | 14454 | helper functions for C, mostly redundant in C++; basically author's personal stuff |
|
|
|
|
**[stb.h](stb.h)** | 2.38 | misc | 14457 | _deprecated_ helper functions for C, mostly redundant in C++; basically author's personal stuff |
|
|
|
|
**[stb_leakcheck.h](stb_leakcheck.h)** | 0.6 | misc | 194 | quick-and-dirty malloc/free leak-checking |
|
|
|
|
**[stb_include.h](stb_include.h)** | 0.02 | misc | 295 | implement recursive #include support, particularly for GLSL |
|
|
|
|
|
|
|
|
|
Total libraries: 21 |
|
|
|
|
Total lines of C code: 56530 |
|
|
|
|
Total lines of C code: 56730 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FAQ |
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
#### How do I use these libraries? |
|
|
|
|
|
|
|
|
|
The idea behind single-header file libraries is that they're easy to distribute and deploy |
|
|
|
|
because all the code is contained in a single file. By default, the .h files in here act as |
|
|
|
|
their own header files, i.e. they declare the functions contained in the file but don't |
|
|
|
|
actually result in any code getting compiled. |
|
|
|
|
|
|
|
|
|
So in addition, you should select _exactly one_ C/C++ source file that actually instantiates |
|
|
|
|
the code, preferably a file you're not editing frequently. This file should define a |
|
|
|
|
specific macro (this is documented per-library) to actually enable the function definitions. |
|
|
|
|
For example, to use stb_image, you should have exactly one C/C++ file that doesn't |
|
|
|
|
include stb_image.h regularly, but instead does |
|
|
|
|
|
|
|
|
|
#define STB_IMAGE_IMPLEMENTATION |
|
|
|
|
#include "stb_image.h" |
|
|
|
|
|
|
|
|
|
The right macro to define is pointed out right at the top of each of these libraries. |
|
|
|
|
|
|
|
|
|
#### What's the license? |
|
|
|
|
|
|
|
|
|
These libraries are in the public domain. You can do anything you |
|
|
|
|