X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=image.h;h=60fbcce681c1aa93311efc3d4e3e1dd6f61de373;hb=acfed5e0361917f332322756bc09a23f5c59bf06;hp=a8f25a15954e7c0cf0aec7af70f34a7816133f5f;hpb=980ac035e70ad26a44913dabebe4be5726f966ac;p=xonotic%2Fdarkplaces.git diff --git a/image.h b/image.h index a8f25a15..60fbcce6 100644 --- a/image.h +++ b/image.h @@ -2,7 +2,6 @@ #ifndef IMAGE_H #define IMAGE_H - extern int image_width, image_height; @@ -21,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); +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); +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); @@ -50,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