X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=image.h;h=60fbcce681c1aa93311efc3d4e3e1dd6f61de373;hb=9b73f5e152089c02f4157b4f3cddcc884e3648cd;hp=61bcc9c6f28b5905e82cab77e91d3c96588affce;hpb=3558031f52b2116fbf2bf4ef4660ec2576fbf831;p=xonotic%2Fdarkplaces.git diff --git a/image.h b/image.h index 61bcc9c6..60fbcce6 100644 --- a/image.h +++ b/image.h @@ -20,22 +20,22 @@ void Image_Copy8bitBGRA(const unsigned char *in, unsigned char *out, int pixels, void Image_StripImageExtension (const char *in, char *out, size_t size_out); // called by conchars.tga loader in gl_draw.c, otherwise private -unsigned char *LoadTGA_BGRA (const unsigned char *f, int filesize); +unsigned char *LoadTGA_BGRA (const unsigned char *f, int filesize, int *miplevel); // loads a texture, as pixel data -unsigned char *loadimagepixelsbgra (const char *filename, qboolean complain, qboolean allowFixtrans, qboolean convertsRGB); +unsigned char *loadimagepixelsbgra (const char *filename, qboolean complain, qboolean allowFixtrans, qboolean convertsRGB, int *miplevel); // loads an 8bit pcx image into a 296x194x8bit buffer, with cropping as needed qboolean LoadPCX_QWSkin(const unsigned char *f, int filesize, unsigned char *pixels, int outwidth, int outheight); // loads a texture, as a texture -rtexture_t *loadtextureimage (rtexturepool_t *pool, const char *filename, qboolean complain, int flags, qboolean allowFixtrans, qboolean convertsRGB); +rtexture_t *loadtextureimage (rtexturepool_t *pool, const char *filename, qboolean complain, int flags, qboolean allowFixtrans, qboolean sRGB); // writes an upside down BGR image into a TGA -qboolean Image_WriteTGABGR_preflipped (const char *filename, int width, int height, const unsigned char *data, unsigned char *buffer); +qboolean Image_WriteTGABGR_preflipped (const char *filename, int width, int height, const unsigned char *data); // writes a BGRA image into a TGA file -void Image_WriteTGABGRA (const char *filename, int width, int height, const unsigned char *data); +qboolean Image_WriteTGABGRA (const char *filename, int width, int height, const unsigned char *data); // resizes the image (in can not be the same as out) void Image_Resample32(const void *indata, int inwidth, int inheight, int indepth, void *outdata, int outwidth, int outheight, int outdepth, int quality); @@ -49,5 +49,9 @@ void Image_HeightmapToNormalmap_BGRA(const unsigned char *inpixels, unsigned cha void Image_FixTransparentPixels_f(void); extern cvar_t r_fixtrans_auto; +#define Image_LinearFloatFromsRGB(c) (((c) < 11) ? (c) * 0.000302341331f : (float)pow(((c)*(1.0f/256.0f) + 0.055f)*(1.0f/1.0555f), 2.4f)) + +void Image_MakeLinearColorsFromsRGB(unsigned char *pout, const unsigned char *pin, int numpixels); + #endif