25 const unsigned char src1[4],
26 const unsigned char src2[4],
205 if (*buf_p ==
NULL) {
208 const int size_dst[2] = {
214 for (
int y = 0;
y < size_dst[1];
y++,
src += size_dst[0], dst += size_src[0]) {
215 memmove(
src, dst,
sizeof(
uint) * size_dst[0]);
222 if (*buf_p ==
NULL) {
225 const int size_dst[2] = {
231 for (
int y = 0;
y < size_dst[1];
y++,
src += size_dst[0], dst += size_src[0]) {
232 memmove(
src, dst,
sizeof(
uint[4]) * size_dst[0]);
234 *buf_p = (
void *)
MEM_reallocN(*buf_p,
sizeof(
uint[4]) * size_dst[0] * size_dst[1]);
239 const int size_src[2] = {
243 const int size_dst[2] = {
247 BLI_assert(size_dst[0] > 0 && size_dst[1] > 0);
251 if ((size_dst[0] == ibuf->
x) && (size_dst[1] == ibuf->
y)) {
260 ibuf->
x = size_dst[0];
261 ibuf->
y = size_dst[1];
269 if (*buf_p ==
NULL) {
278 if (*buf_p ==
NULL) {
288 if ((
size[0] == ibuf->
x) && (
size[1] == ibuf->
y)) {
341 tmp = dbuf->
x - *destx;
345 tmp = dbuf->
y - *desty;
351 tmp = sbuf->
x - *srcx;
355 tmp = sbuf->
y - *srcy;
423 tmp = dbuf->
x - *destx;
427 tmp = dbuf->
y - *desty;
433 tmp = obuf->
x - *origx;
437 tmp = obuf->
y - *origy;
444 tmp = sbuf->
x - *srcx;
448 tmp = sbuf->
y - *srcy;
491 const unsigned char *src1,
492 const unsigned char *src2);
498 unsigned short *dmask,
499 const unsigned short *curvemask,
500 const unsigned short *texmask,
513 unsigned int *drect =
NULL, *orect =
NULL, *srect =
NULL, *dr, * or, *sr;
514 float *drectf =
NULL, *orectf =
NULL, *srectf =
NULL, *drf, *orf, *srf;
515 const unsigned short *cmaskrect = curvemask, *cmr;
516 unsigned short *dmaskrect = dmask, *dmr;
517 const unsigned short *texmaskrect = texmask, *tmr;
518 int srcskip, destskip, origskip,
x;
526 imb_rectclip3(dbuf, obuf, sbuf, &destx, &desty, &origx, &origy, &srcx, &srcy, &
width, &
height);
538 const bool do_char = (sbuf && sbuf->
rect && dbuf->
rect && obuf->
rect);
542 drect = dbuf->
rect + ((size_t)desty) * dbuf->
x + destx;
543 orect = obuf->
rect + ((size_t)origy) * obuf->
x + origx;
546 drectf = dbuf->
rect_float + (((size_t)desty) * dbuf->
x + destx) * 4;
547 orectf = obuf->
rect_float + (((size_t)origy) * obuf->
x + origx) * 4;
551 dmaskrect += ((size_t)origy) * obuf->
x + origx;
559 srect = sbuf->
rect + ((size_t)srcy) * sbuf->
x + srcx;
562 srectf = sbuf->
rect_float + (((size_t)srcy) * sbuf->
x + srcx) * 4;
567 cmaskrect += ((size_t)srcy) * sbuf->
x + srcx;
571 texmaskrect += ((size_t)srcy) * sbuf->
x + srcx;
584 memcpy(drect, srect,
width *
sizeof(
int));
590 memcpy(drectf, srectf,
sizeof(
float[4]) *
width);
591 drectf += destskip * 4;
592 srectf += srcskip * 4;
602 for (
x =
width;
x > 0;
x--, dr++, sr++) {
603 ((
char *)dr)[0] = ((
char *)sr)[0];
604 ((
char *)dr)[1] = ((
char *)sr)[1];
605 ((
char *)dr)[2] = ((
char *)sr)[2];
614 for (
x =
width;
x > 0;
x--, drf += 4, srf += 4) {
615 float map_alpha = (srf[3] == 0.0f) ? drf[3] : drf[3] / srf[3];
617 drf[0] = srf[0] * map_alpha;
618 drf[1] = srf[1] * map_alpha;
619 drf[2] = srf[2] * map_alpha;
621 drectf += destskip * 4;
622 srectf += srcskip * 4;
632 for (
x =
width;
x > 0;
x--, dr++, sr++) {
633 ((
char *)dr)[3] = ((
char *)sr)[3];
642 for (
x =
width;
x > 0;
x--, drf += 4, srf += 4) {
645 drectf += destskip * 4;
646 srectf += srcskip * 4;
768 for (
x =
width;
x > 0;
x--, dr++, or ++, sr++, dmr++, cmr++) {
769 unsigned char *
src = (
unsigned char *)sr;
770 float mask_lim = mask_max * (*cmr);
773 mask_lim *= ((*tmr++) / 65535.0f);
776 if (
src[3] && mask_lim) {
780 mask = *dmr + mask_lim;
783 mask = *dmr + mask_lim - (*dmr * (*cmr / 65535.0f));
789 unsigned char mask_src[4];
793 mask_src[0] =
src[0];
794 mask_src[1] =
src[1];
795 mask_src[2] =
src[2];
798 mask_src[3] =
src[3];
800 (
unsigned char *)dr, (
unsigned char *) or, mask_src,
mask / 65535.0f);
804 func((
unsigned char *)dr, (
unsigned char *) or, mask_src);
809 dmaskrect += origskip;
813 for (
x =
width;
x > 0;
x--, dr++, or ++, sr++, cmr++) {
814 unsigned char *
src = (
unsigned char *)sr;
815 float mask = (
float)mask_max * ((
float)(*cmr));
824 unsigned char mask_src[4];
826 mask_src[0] =
src[0];
827 mask_src[1] =
src[1];
828 mask_src[2] =
src[2];
831 mask_src[3] =
src[3];
833 (
unsigned char *)dr, (
unsigned char *) or, mask_src,
mask / 65535.0f);
837 func((
unsigned char *)dr, (
unsigned char *) or, mask_src);
843 cmaskrect += srcskip;
845 texmaskrect += srcskip;
850 for (
x =
width;
x > 0;
x--, dr++, or ++, sr++) {
851 if (((
unsigned char *)sr)[3]) {
852 func((
unsigned char *)dr, (
unsigned char *) or, (
unsigned char *)sr);
875 for (
x =
width;
x > 0;
x--, drf += 4, orf += 4, srf += 4, dmr++, cmr++) {
876 float mask_lim = mask_max * (*cmr);
879 mask_lim *= ((*tmr++) / 65535.0f);
882 if (srf[3] && mask_lim) {
889 mask = *dmr + mask_lim - (*dmr * (*cmr / 65535.0f));
903 func_float(drf, orf, mask_srf);
908 dmaskrect += origskip;
912 for (
x =
width;
x > 0;
x--, drf += 4, orf += 4, srf += 4, cmr++) {
913 float mask = (
float)mask_max * ((
float)(*cmr));
921 if (srf[3] && (
mask > 0.0f)) {
928 func_float(drf, orf, mask_srf);
934 cmaskrect += srcskip;
936 texmaskrect += srcskip;
941 for (
x =
width;
x > 0;
x--, drf += 4, orf += 4, srf += 4) {
943 func_float(drf, orf, srf);
948 drectf += destskip * 4;
949 orectf += origskip * 4;
950 srectf += srcskip * 4;
970 const int num_scanlines = 1;
980 data->desty + scanline,
982 data->origy + scanline,
984 data->srcy + scanline,
994 unsigned short *dmask,
995 const unsigned short *curvemask,
996 const unsigned short *texmask,
1034 data.curvemask = curvemask;
1035 data.texmask = texmask;
1036 data.mask_max = mask_max;
1045 data.accumulate = accumulate;
1055 unsigned int *rrect = drect->
rect;
1058 ccol[0] = (int)(
col[0] * 255);
1059 ccol[1] = (int)(
col[1] * 255);
1060 ccol[2] = (int)(
col[2] * 255);
1061 ccol[3] = (int)(
col[3] * 255);
1063 num = drect->
x * drect->
y;
1064 for (; num > 0; num--) {
1065 *rrect++ = *((
unsigned int *)ccol);
1072 num = drect->
x * drect->
y;
1073 for (; num > 0; num--) {
1083 const ImBuf *ibuf,
const float col[4],
int x1,
int y1,
int x2,
int y2)
1105 if (x1 ==
x2 ||
y1 == y2) {
1109 unsigned char col_char[4] = {
col[0] * 255,
col[1] * 255,
col[2] * 255,
col[3] * 255};
1111 for (
int y =
y1;
y < y2;
y++) {
1112 for (
int x = x1;
x <
x2;
x++) {
1113 size_t offset = ((size_t)ibuf->
x) *
y * 4 + 4 *
x;
1116 unsigned char *rrect = (
unsigned char *)ibuf->
rect +
offset;
1117 memcpy(rrect, &col_char,
sizeof(
unsigned char) * 4);
1122 memcpy(rrectf, &
col,
sizeof(
float) * 4);
1143 if ((!rect && !rectf) || (!
col) ||
col[3] == 0.0f) {
1159 if (x1 ==
x2 ||
y1 == y2) {
1168 unsigned char *pixel;
1169 unsigned char chr = 0, chg = 0, chb = 0;
1170 float fr = 0, fg = 0,
fb = 0;
1184 for (j = 0; j < y2 -
y1; j++) {
1185 for (i = 0; i <
x2 - x1; i++) {
1186 pixel = rect + 4 * (((
y1 + j) *
width) + (x1 + i));
1187 if (pixel >= rect && pixel < rect + (4 * (
width *
height))) {
1196 pixel[0] = (char)((fr + ((
float)pixel[0] * aich)) * 255.0f);
1197 pixel[1] = (char)((fg + ((
float)pixel[1] * aich)) * 255.0f);
1198 pixel[2] = (char)((
fb + ((
float)pixel[2] * aich)) * 255.0f);
1199 pixel[3] = (char)((alphatest = ((
int)pixel[3] + alphaint)) < 255 ? alphatest : 255);
1218 for (j = 0; j < y2 -
y1; j++) {
1219 for (i = 0; i <
x2 - x1; i++) {
1220 pixel = rectf + 4 * (((
y1 + j) *
width) + (x1 + i));
1222 pixel[0] = col_conv[0];
1223 pixel[1] = col_conv[1];
1224 pixel[2] = col_conv[2];
1229 pixel[0] = (col_conv[0] *
a) + (pixel[0] * ai);
1230 pixel[1] = (col_conv[1] *
a) + (pixel[1] * ai);
1231 pixel[2] = (col_conv[2] *
a) + (pixel[2] * ai);
1232 pixel[3] = (alphatest = (pixel[3] +
a)) < 1.0f ? alphatest : 1.0f;
1268 for (i = ibuf->
x * ibuf->
y; i > 0; i--, fbuf += 4) {
1274 const unsigned char cvalue = value * 255;
1275 unsigned char *cbuf = ((
unsigned char *)ibuf->
rect) + 3;
1276 for (i = ibuf->
x * ibuf->
y; i > 0; i--, cbuf += 4) {
typedef float(TangentPoint)[2]
MINLINE float min_ff(float a, float b)
MINLINE int divide_round_i(int a, int b)
MINLINE void srgb_to_linearrgb_v4(float linear[4], const float srgb[4])
MINLINE void blend_color_add_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_exclusion_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_linearburn_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_overlay_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_saturation_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_interpolate_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], float t)
MINLINE void blend_color_burn_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_erase_alpha_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
MINLINE void blend_color_color_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_linearlight_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_sub_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
MINLINE void blend_color_saturation_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_hue_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_difference_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_dodge_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_luminosity_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_pinlight_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_mul_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_pinlight_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_erase_alpha_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_screen_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_screen_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_add_alpha_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_vividlight_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_linearburn_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_mul_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
MINLINE void blend_color_vividlight_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_darken_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
MINLINE void blend_color_mix_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_luminosity_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_difference_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_burn_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_add_alpha_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
MINLINE void blend_color_color_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_overlay_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_dodge_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_hardlight_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_sub_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_darken_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_softlight_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_add_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
MINLINE void blend_color_hue_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_lighten_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
MINLINE void blend_color_exclusion_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_mix_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
MINLINE void blend_color_hardlight_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_linearlight_byte(unsigned char dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_lighten_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_softlight_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_interpolate_float(float dst[4], const float src1[4], const float src2[4], float t)
MINLINE void copy_v4_v4(float r[4], const float a[4])
MINLINE void mul_v4_v4fl(float r[4], const float a[4], float f)
BLI_INLINE int BLI_rcti_size_y(const struct rcti *rct)
BLI_INLINE int BLI_rcti_size_x(const struct rcti *rct)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble y1
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble x2
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
void IMB_colormanagement_display_to_scene_linear_v3(float pixel[3], struct ColorManagedDisplay *display)
void IMB_processor_apply_threaded_scanlines(int total_scanlines, ScanlineThreadFunc do_thread, void *custom_data)
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
#define MEM_reallocN(vmemh, len)
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position CLAMP
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
SyclQueue void void * src
SyclQueue void void size_t num_bytes void
BLI_INLINE float fb(float length, float L)
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
void(* MEM_freeN)(void *vmemh)
void *(* MEM_mallocN)(size_t len, const char *str)
MINLINE unsigned char unit_float_to_uchar_clamp(float val)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
static void rect_realloc_16bytes(void **buf_p, const uint size[2])
void IMB_rectfill_alpha(ImBuf *ibuf, const float value)
static void rect_crop_4bytes(void **buf_p, const int size_src[2], const rcti *crop)
void IMB_rectblend_threaded(ImBuf *dbuf, const ImBuf *obuf, const ImBuf *sbuf, unsigned short *dmask, const unsigned short *curvemask, const unsigned short *texmask, float mask_max, int destx, int desty, int origx, int origy, int srcx, int srcy, int width, int height, IMB_BlendMode mode, bool accumulate)
static void rect_crop_16bytes(void **buf_p, const int size_src[2], const rcti *crop)
void IMB_rectfill_area_replace(const ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2)
void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, const float col[4], struct ColorManagedDisplay *display, int x1, int y1, int x2, int y2)
void IMB_blend_color_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], IMB_BlendMode mode)
struct RectBlendThreadData RectBlendThreadData
void IMB_rect_crop(ImBuf *ibuf, const rcti *crop)
static void rectblend_thread_do(void *data_v, int scanline)
void IMB_rectclip(ImBuf *dbuf, const ImBuf *sbuf, int *destx, int *desty, int *srcx, int *srcy, int *width, int *height)
static void imb_rectclip3(ImBuf *dbuf, const ImBuf *obuf, const ImBuf *sbuf, int *destx, int *desty, int *origx, int *origy, int *srcx, int *srcy, int *width, int *height)
void IMB_rectblend(ImBuf *dbuf, const ImBuf *obuf, const ImBuf *sbuf, unsigned short *dmask, const unsigned short *curvemask, const unsigned short *texmask, float mask_max, int destx, int desty, int origx, int origy, int srcx, int srcy, int width, int height, IMB_BlendMode mode, bool accumulate)
void(* IMB_blend_func_float)(float *dst, const float *src1, const float *src2)
void IMB_blend_color_float(float dst[4], const float src1[4], const float src2[4], IMB_BlendMode mode)
void IMB_rectfill(ImBuf *drect, const float col[4])
void(* IMB_blend_func)(unsigned char *dst, const unsigned char *src1, const unsigned char *src2)
void IMB_rect_size_set(ImBuf *ibuf, const uint size[2])
static void rect_realloc_4bytes(void **buf_p, const uint size[2])
void IMB_rectcpy(ImBuf *dbuf, const ImBuf *sbuf, int destx, int desty, int srcx, int srcy, int width, int height)
void IMB_rectfill_area(ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2, struct ColorManagedDisplay *display)
const unsigned short * texmask
const unsigned short * curvemask