diff options
Diffstat (limited to 'source/blender/render/intern/include/texture.h')
-rw-r--r-- | source/blender/render/intern/include/texture.h | 89 |
1 files changed, 57 insertions, 32 deletions
diff --git a/source/blender/render/intern/include/texture.h b/source/blender/render/intern/include/texture.h index 7c86f700652..d783263c8b8 100644 --- a/source/blender/render/intern/include/texture.h +++ b/source/blender/render/intern/include/texture.h @@ -21,39 +21,44 @@ * \ingroup render */ - #ifndef __TEXTURE_H__ #define __TEXTURE_H__ -#define BRICONT \ - texres->tin= (texres->tin-0.5f) * tex->contrast+tex->bright-0.5f; \ - if (!(tex->flag & TEX_NO_CLAMP)) { \ - if (texres->tin < 0.0f) texres->tin= 0.0f; \ - else if (texres->tin > 1.0f) texres->tin= 1.0f; \ - } \ +#define BRICONT \ + texres->tin = (texres->tin - 0.5f) * tex->contrast + tex->bright - 0.5f; \ + if (!(tex->flag & TEX_NO_CLAMP)) { \ + if (texres->tin < 0.0f) \ + texres->tin = 0.0f; \ + else if (texres->tin > 1.0f) \ + texres->tin = 1.0f; \ + } -#define BRICONTRGB \ - texres->tr= tex->rfac*((texres->tr-0.5f)*tex->contrast+tex->bright-0.5f); \ - texres->tg= tex->gfac*((texres->tg-0.5f)*tex->contrast+tex->bright-0.5f); \ - texres->tb= tex->bfac*((texres->tb-0.5f)*tex->contrast+tex->bright-0.5f); \ - if (!(tex->flag & TEX_NO_CLAMP)) { \ - if (texres->tr < 0.0f) texres->tr= 0.0f; \ - if (texres->tg < 0.0f) texres->tg= 0.0f; \ - if (texres->tb < 0.0f) texres->tb= 0.0f; \ - } \ - if (tex->saturation != 1.0f) { \ - float _hsv[3]; \ - rgb_to_hsv(texres->tr, texres->tg, texres->tb, \ - _hsv, _hsv+1, _hsv+2); \ - _hsv[1] *= tex->saturation; \ - hsv_to_rgb(_hsv[0], _hsv[1], _hsv[2], \ - &texres->tr, &texres->tg, &texres->tb); \ - if ((tex->saturation > 1.0f) && !(tex->flag & TEX_NO_CLAMP)) { \ - if (texres->tr < 0.0f) texres->tr= 0.0f; \ - if (texres->tg < 0.0f) texres->tg= 0.0f; \ - if (texres->tb < 0.0f) texres->tb= 0.0f; \ - } \ - } \ +#define BRICONTRGB \ + texres->tr = tex->rfac * ((texres->tr - 0.5f) * tex->contrast + tex->bright - 0.5f); \ + texres->tg = tex->gfac * ((texres->tg - 0.5f) * tex->contrast + tex->bright - 0.5f); \ + texres->tb = tex->bfac * ((texres->tb - 0.5f) * tex->contrast + tex->bright - 0.5f); \ + if (!(tex->flag & TEX_NO_CLAMP)) { \ + if (texres->tr < 0.0f) \ + texres->tr = 0.0f; \ + if (texres->tg < 0.0f) \ + texres->tg = 0.0f; \ + if (texres->tb < 0.0f) \ + texres->tb = 0.0f; \ + } \ + if (tex->saturation != 1.0f) { \ + float _hsv[3]; \ + rgb_to_hsv(texres->tr, texres->tg, texres->tb, _hsv, _hsv + 1, _hsv + 2); \ + _hsv[1] *= tex->saturation; \ + hsv_to_rgb(_hsv[0], _hsv[1], _hsv[2], &texres->tr, &texres->tg, &texres->tb); \ + if ((tex->saturation > 1.0f) && !(tex->flag & TEX_NO_CLAMP)) { \ + if (texres->tr < 0.0f) \ + texres->tr = 0.0f; \ + if (texres->tg < 0.0f) \ + texres->tg = 0.0f; \ + if (texres->tb < 0.0f) \ + texres->tb = 0.0f; \ + } \ + } struct ImBuf; struct Image; @@ -63,8 +68,28 @@ struct TexResult; /* imagetexture.h */ -int imagewraposa(struct Tex *tex, struct Image *ima, struct ImBuf *ibuf, const float texvec[3], const float dxt[2], const float dyt[2], struct TexResult *texres, struct ImagePool *pool, const bool skip_load_image); -int imagewrap(struct Tex *tex, struct Image *ima, struct ImBuf *ibuf, const float texvec[3], struct TexResult *texres, struct ImagePool *pool, const bool skip_load_image); -void image_sample(struct Image *ima, float fx, float fy, float dx, float dy, float result[4], struct ImagePool *pool); +int imagewraposa(struct Tex *tex, + struct Image *ima, + struct ImBuf *ibuf, + const float texvec[3], + const float dxt[2], + const float dyt[2], + struct TexResult *texres, + struct ImagePool *pool, + const bool skip_load_image); +int imagewrap(struct Tex *tex, + struct Image *ima, + struct ImBuf *ibuf, + const float texvec[3], + struct TexResult *texres, + struct ImagePool *pool, + const bool skip_load_image); +void image_sample(struct Image *ima, + float fx, + float fy, + float dx, + float dy, + float result[4], + struct ImagePool *pool); #endif /* __TEXTURE_H__ */ |