mirror of
https://github.com/nothings/stb
synced 2024-12-16 04:42:42 +03:00
stb_image.h: fix *comp value when loading PSDs
stb_voxel_render.h: fix STBVOX_CONFIG_OPTIMIZED_VHEIGHT
This commit is contained in:
parent
947bdcd027
commit
aa89970d6b
@ -8,14 +8,14 @@ single-file public domain libraries for C/C++
|
|||||||
library | lastest version | category | LoC | description
|
library | lastest version | category | LoC | description
|
||||||
--------------------- | ---- | -------- | --- | --------------------------------
|
--------------------- | ---- | -------- | --- | --------------------------------
|
||||||
**stb_vorbis.c** | 1.05 | audio | 5445 | decode ogg vorbis files from file/memory to float/16-bit signed output
|
**stb_vorbis.c** | 1.05 | audio | 5445 | decode ogg vorbis files from file/memory to float/16-bit signed output
|
||||||
**stb_image.h** | 2.05 | graphics | 6433 | image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC
|
**stb_image.h** | 2.06 | graphics | 6437 | image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC
|
||||||
**stb_truetype.h** | 1.05 | graphics | 2632 | parse, decode, and rasterize characters from truetype fonts
|
**stb_truetype.h** | 1.05 | graphics | 2632 | parse, decode, and rasterize characters from truetype fonts
|
||||||
**stb_image_write.h** | 0.98 | graphics | 730 | image writing to disk: PNG, TGA, BMP
|
**stb_image_write.h** | 0.98 | graphics | 730 | image writing to disk: PNG, TGA, BMP
|
||||||
**stb_image_resize.h** | 0.90 | graphics | 2585 | resize images larger/smaller with good quality
|
**stb_image_resize.h** | 0.90 | graphics | 2585 | resize images larger/smaller with good quality
|
||||||
**stb_rect_pack.h** | 0.06 | graphics | 560 | simple 2D rectangle packer with decent quality
|
**stb_rect_pack.h** | 0.06 | graphics | 560 | simple 2D rectangle packer with decent quality
|
||||||
**stretchy_buffer.h** | 1.02 | utility | 210 | typesafe dynamic array for C (i.e. approximation to vector<>), doesn't compile as C++
|
**stretchy_buffer.h** | 1.02 | utility | 210 | typesafe dynamic array for C (i.e. approximation to vector<>), doesn't compile as C++
|
||||||
**stb_textedit.h** | 1.6 | UI | 1290 | guts of a text editor for games etc implementing them from scratch
|
**stb_textedit.h** | 1.6 | UI | 1290 | guts of a text editor for games etc implementing them from scratch
|
||||||
**stb_voxel_render.h** | 0.80 | 3D graphics | 3644 | Minecraft-esque voxel rendering "engine" with many more features
|
**stb_voxel_render.h** | 0.81 | 3D graphics | 3644 | Minecraft-esque voxel rendering "engine" with many more features
|
||||||
**stb_dxt.h** | 1.04 | 3D graphics | 624 | Fabian "ryg" Giesen's real-time DXT compressor
|
**stb_dxt.h** | 1.04 | 3D graphics | 624 | Fabian "ryg" Giesen's real-time DXT compressor
|
||||||
**stb_perlin.h** | 0.2 | 3D graphics | 175 | revised Perlin noise (3D input, 1D output)
|
**stb_perlin.h** | 0.2 | 3D graphics | 175 | revised Perlin noise (3D input, 1D output)
|
||||||
**stb_easy_font.h** | 0.5 | 3D graphics | 220 | quick-and-dirty easy-to-deploy bitmap font for printing frame rate, etc
|
**stb_easy_font.h** | 0.5 | 3D graphics | 220 | quick-and-dirty easy-to-deploy bitmap font for printing frame rate, etc
|
||||||
@ -27,7 +27,7 @@ library | lastest version | category | LoC | description
|
|||||||
**stb_leakcheck.h** | 0.2 | misc | 117 | quick-and-dirty malloc/free leak-checking
|
**stb_leakcheck.h** | 0.2 | misc | 117 | quick-and-dirty malloc/free leak-checking
|
||||||
|
|
||||||
Total libraries: 18
|
Total libraries: 18
|
||||||
Total lines of C code: 45270
|
Total lines of C code: 45274
|
||||||
|
|
||||||
|
|
||||||
FAQ
|
FAQ
|
||||||
|
16
stb_image.h
16
stb_image.h
@ -1,4 +1,4 @@
|
|||||||
/* stb_image - v2.05 - public domain image loader - http://nothings.org/stb_image.h
|
/* stb_image - v2.06 - public domain image loader - http://nothings.org/stb_image.h
|
||||||
no warranty implied; use at your own risk
|
no warranty implied; use at your own risk
|
||||||
|
|
||||||
Do this:
|
Do this:
|
||||||
@ -143,6 +143,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Latest revision history:
|
Latest revision history:
|
||||||
|
2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value
|
||||||
2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning
|
2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning
|
||||||
2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit
|
2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit
|
||||||
2.03 (2015-04-12) additional corruption checking
|
2.03 (2015-04-12) additional corruption checking
|
||||||
@ -5139,7 +5140,8 @@ static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int
|
|||||||
p = out+channel;
|
p = out+channel;
|
||||||
if (channel >= channelCount) {
|
if (channel >= channelCount) {
|
||||||
// Fill this channel with default data.
|
// Fill this channel with default data.
|
||||||
for (i = 0; i < pixelCount; i++) *p = (channel == 3 ? 255 : 0), p += 4;
|
for (i = 0; i < pixelCount; i++, p += 4)
|
||||||
|
*p = (channel == 3 ? 255 : 0);
|
||||||
} else {
|
} else {
|
||||||
// Read the RLE data.
|
// Read the RLE data.
|
||||||
count = 0;
|
count = 0;
|
||||||
@ -5185,11 +5187,12 @@ static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int
|
|||||||
p = out + channel;
|
p = out + channel;
|
||||||
if (channel > channelCount) {
|
if (channel > channelCount) {
|
||||||
// Fill this channel with default data.
|
// Fill this channel with default data.
|
||||||
for (i = 0; i < pixelCount; i++) *p = channel == 3 ? 255 : 0, p += 4;
|
for (i = 0; i < pixelCount; i++, p += 4)
|
||||||
|
*p = channel == 3 ? 255 : 0;
|
||||||
} else {
|
} else {
|
||||||
// Read the data.
|
// Read the data.
|
||||||
for (i = 0; i < pixelCount; i++)
|
for (i = 0; i < pixelCount; i++, p += 4)
|
||||||
*p = stbi__get8(s), p += 4;
|
*p = stbi__get8(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5199,7 +5202,7 @@ static stbi_uc *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int
|
|||||||
if (out == NULL) return out; // stbi__convert_format frees input on failure
|
if (out == NULL) return out; // stbi__convert_format frees input on failure
|
||||||
}
|
}
|
||||||
|
|
||||||
if (comp) *comp = channelCount;
|
if (comp) *comp = 4;
|
||||||
*y = h;
|
*y = h;
|
||||||
*x = w;
|
*x = w;
|
||||||
|
|
||||||
@ -6292,6 +6295,7 @@ STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
revision history:
|
revision history:
|
||||||
|
2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value
|
||||||
2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning
|
2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning
|
||||||
2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit
|
2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit
|
||||||
2.03 (2015-04-12) extra corruption checking (mmozeiko)
|
2.03 (2015-04-12) extra corruption checking (mmozeiko)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// stb_voxel_render.h - v0.80 - Sean Barrett, 2015 - public domain
|
// stb_voxel_render.h - v0.81 - Sean Barrett, 2015 - public domain
|
||||||
//
|
//
|
||||||
// This library helps render large-scale "voxel" worlds for games,
|
// This library helps render large-scale "voxel" worlds for games,
|
||||||
// in this case, one with blocks that can have textures and that
|
// in this case, one with blocks that can have textures and that
|
||||||
@ -169,6 +169,7 @@
|
|||||||
//
|
//
|
||||||
// VERSION HISTORY
|
// VERSION HISTORY
|
||||||
//
|
//
|
||||||
|
// 0.81 (2015-05-28) fix broken STBVOX_CONFIG_OPTIMIZED_VHEIGHT
|
||||||
// 0.80 (2015-04-11) fix broken STBVOX_CONFIG_ROTATION_IN_LIGHTING refactoring
|
// 0.80 (2015-04-11) fix broken STBVOX_CONFIG_ROTATION_IN_LIGHTING refactoring
|
||||||
// change STBVOX_MAKE_LIGHTING to STBVOX_MAKE_LIGHTING_EXT so
|
// change STBVOX_MAKE_LIGHTING to STBVOX_MAKE_LIGHTING_EXT so
|
||||||
// that header defs don't need to see config vars
|
// that header defs don't need to see config vars
|
||||||
@ -2734,7 +2735,6 @@ void stbvox_make_mesh_for_face(stbvox_mesh_maker *mm, stbvox_rotate rot, int fac
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef STBVOX_CONFIG_OPTIMIZED_VHEIGHT
|
|
||||||
// get opposite-facing normal & texgen for opposite face, used to map up-facing vheight data to down-facing data
|
// get opposite-facing normal & texgen for opposite face, used to map up-facing vheight data to down-facing data
|
||||||
static unsigned char stbvox_reverse_face[STBVF_count] =
|
static unsigned char stbvox_reverse_face[STBVF_count] =
|
||||||
{
|
{
|
||||||
@ -2744,7 +2744,7 @@ static unsigned char stbvox_reverse_face[STBVF_count] =
|
|||||||
0, 0, 0, 0, STBVF_ne_d, STBVF_ne_d, STBVF_nd, STBVF_nu
|
0, 0, 0, 0, STBVF_ne_d, STBVF_ne_d, STBVF_nd, STBVF_nu
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifndef STBVOX_CONFIG_OPTIMIZED_VHEIGHT
|
||||||
// render non-planar quads by splitting into two triangles, rendering each as a degenerate quad
|
// render non-planar quads by splitting into two triangles, rendering each as a degenerate quad
|
||||||
static void stbvox_make_12_split_mesh_for_face(stbvox_mesh_maker *mm, stbvox_rotate rot, int face, int v_off, stbvox_pos pos, stbvox_mesh_vertex vertbase, stbvox_mesh_vertex *face_coord, unsigned char mesh, unsigned char *ht)
|
static void stbvox_make_12_split_mesh_for_face(stbvox_mesh_maker *mm, stbvox_rotate rot, int face, int v_off, stbvox_pos pos, stbvox_mesh_vertex vertbase, stbvox_mesh_vertex *face_coord, unsigned char mesh, unsigned char *ht)
|
||||||
{
|
{
|
||||||
|
@ -66,7 +66,7 @@ LINK32=link.exe
|
|||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||||
# ADD CPP /nologo /MTd /W3 /GX /Zi /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "TT_TEST" /FR /FD /GZ /c
|
# ADD CPP /nologo /MTd /W3 /GX /Zi /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "VORBIS_TEST" /FR /FD /GZ /c
|
||||||
# SUBTRACT CPP /YX
|
# SUBTRACT CPP /YX
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
|
@ -8,11 +8,10 @@ extern void stb_vorbis_dumpmem(void);
|
|||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
size_t memlen;
|
size_t memlen;
|
||||||
unsigned char *mem = stb_fileu("c:/x/01.ogg", &memlen);
|
unsigned char *mem = stb_fileu("c:/x/theme_03.ogg", &memlen);
|
||||||
int chan, samplerate;
|
int chan, samplerate;
|
||||||
short *output;
|
short *output;
|
||||||
int samples = stb_vorbis_decode_memory(mem, memlen, &chan, &samplerate, &output);
|
int samples = stb_vorbis_decode_memory(mem, memlen, &chan, &samplerate, &output);
|
||||||
stb_vorbis_dumpmem();
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user