14 #ifndef __MATH_COLOR_BLEND_INLINE_C__
15 # define __MATH_COLOR_BLEND_INLINE_C__
18 # define EPS_SATURATION 0.0005f
19 # define EPS_ALPHA 0.0005f
37 const int t = src2[3];
38 const int mt = 255 -
t;
41 tmp[0] = (mt * src1[3] * src1[0]) + (
t * 255 * src2[0]);
42 tmp[1] = (mt * src1[3] * src1[1]) + (
t * 255 * src2[1]);
43 tmp[2] = (mt * src1[3] * src1[2]) + (
t * 255 * src2[2]);
44 tmp[3] = (mt * src1[3]) + (
t * 255);
61 const int t = src2[3];
64 tmp[0] = (src1[0] * 255) + (src2[0] *
t);
65 tmp[1] = (src1[1] * 255) + (src2[1] *
t);
66 tmp[2] = (src1[2] * 255) + (src2[2] *
t);
83 const int t = src2[3];
86 tmp[0] = (src1[0] * 255) - (src2[0] *
t);
87 tmp[1] = (src1[1] * 255) - (src2[1] *
t);
88 tmp[2] = (src1[2] * 255) - (src2[2] *
t);
105 const int t = src2[3];
106 const int mt = 255 -
t;
109 tmp[0] = (mt * src1[0] * 255) + (
t * src1[0] * src2[0]);
110 tmp[1] = (mt * src1[1] * 255) + (
t * src1[1] * src2[1]);
111 tmp[2] = (mt * src1[2] * 255) + (
t * src1[2] * src2[2]);
128 const int t = src2[3];
129 const int mt = 255 -
t;
132 tmp[0] = (mt * src1[0]) + (
t *
max_ii(src1[0], src2[0]));
133 tmp[1] = (mt * src1[1]) + (
t *
max_ii(src1[1], src2[1]));
134 tmp[2] = (mt * src1[2]) + (
t *
max_ii(src1[2], src2[2]));
151 const int t = src2[3];
152 const int mt = 255 -
t;
155 tmp[0] = (mt * src1[0]) + (
t *
min_ii(src1[0], src2[0]));
156 tmp[1] = (mt * src1[1]) + (
t *
min_ii(src1[1], src2[1]));
157 tmp[2] = (mt * src1[2]) + (
t *
min_ii(src1[2], src2[2]));
174 const int t = src2[3];
191 const int t = src2[3];
206 const int fac = (int)src2[3];
208 const int mfac = 255 - fac;
215 temp = 255 - ((255 - 2 * (src1[i] - 127)) * (255 - src2[i]) / 255);
218 temp = (2 * src1[i] * src2[i]) >> 8;
220 dst[i] = (
uchar)
min_ii((temp * fac + src1[i] * mfac) / 255, 255);
231 const int fac = (int)src2[3];
233 const int mfac = 255 - fac;
240 temp = 255 - ((255 - 2 * (src2[i] - 127)) * (255 - src1[i]) / 255);
243 temp = (2 * src2[i] * src1[i]) >> 8;
245 dst[i] = (
uchar)
min_ii((temp * fac + src1[i] * mfac) / 255, 255);
256 const int fac = src2[3];
258 const int mfac = 255 - fac;
262 const int temp = (src2[i] == 0) ? 0 :
max_ii(255 - ((255 - src1[i]) * 255) / src2[i], 0);
263 dst[i] = (
uchar)((temp * fac + src1[i] * mfac) / 255);
274 const int fac = src2[3];
276 const int mfac = 255 - fac;
280 const int temp =
max_ii(src1[i] + src2[i] - 255, 0);
281 dst[i] = (
uchar)((temp * fac + src1[i] * mfac) / 255);
292 const int fac = src2[3];
294 const int mfac = 255 - fac;
298 const int temp = (src2[i] == 255) ? 255 :
min_ii((src1[i] * 255) / (255 - src2[i]), 255);
299 dst[i] = (
uchar)((temp * fac + src1[i] * mfac) / 255);
310 const int fac = src2[3];
312 const int mfac = 255 - fac;
316 const int temp =
max_ii(255 - (((255 - src1[i]) * (255 - src2[i])) / 255), 0);
317 dst[i] = (
uchar)((temp * fac + src1[i] * mfac) / 255);
328 const int fac = src2[3];
330 const int mfac = 255 - fac;
337 temp = ((2 * ((src2[i] / 2) + 64)) * src1[i]) / 255;
340 temp = 255 - (2 * (255 - ((src2[i] / 2) + 64)) * (255 - src1[i]) / 255);
342 dst[i] = (
uchar)((temp * fac + src1[i] * mfac) / 255);
353 const int fac = src2[3];
355 const int mfac = 255 - fac;
362 temp =
max_ii(2 * (src2[i] - 127), src1[i]);
365 temp =
min_ii(2 * src2[i], src1[i]);
367 dst[i] = (
uchar)((
min_ii(temp, 255) * fac + src1[i] * mfac) / 255);
378 const int fac = src2[3];
380 const int mfac = 255 - fac;
387 temp =
min_ii(src1[i] + 2 * (src2[i] - 127), 255);
390 temp =
max_ii(src1[i] + 2 * src2[i] - 255, 0);
392 dst[i] = (
uchar)((temp * fac + src1[i] * mfac) / 255);
403 const int fac = src2[3];
405 const int mfac = 255 - fac;
411 if (src2[i] == 255) {
412 temp = (src1[i] == 0) ? 127 : 255;
414 else if (src2[i] == 0) {
415 temp = (src1[i] == 255) ? 127 : 0;
417 else if (src2[i] > 127) {
418 temp =
min_ii(((src1[i]) * 255) / (2 * (255 - src2[i])), 255);
421 temp =
max_ii(255 - ((255 - src1[i]) * 255 / (2 * src2[i])), 0);
423 dst[i] = (
uchar)((temp * fac + src1[i] * mfac) / 255);
434 const int fac = src2[3];
436 const int mfac = 255 - fac;
440 const int temp =
abs(src1[i] - src2[i]);
441 dst[i] = (
uchar)((temp * fac + src1[i] * mfac) / 255);
452 const int fac = src2[3];
454 const int mfac = 255 - fac;
458 const int temp = 127 -
min_ii(((2 * (src1[i] - 127) * (src2[i] - 127)) / 255), 127);
459 dst[i] = (
uchar)((temp * fac + src1[i] * mfac) / 255);
470 const int fac = src2[3];
472 const int mfac = 255 - fac;
476 rgb_to_hsv(src1[0] / 255.0f, src1[1] / 255.0f, src1[2] / 255.0f, &h1, &s1, &
v1);
477 rgb_to_hsv(src2[0] / 255.0f, src2[1] / 255.0f, src2[2] / 255.0f, &h2, &s2, &
v2);
484 dst[0] = (
uchar)(((
int)(
r * 255.0f) * fac + src1[0] * mfac) / 255);
485 dst[1] = (
uchar)(((
int)(
g * 255.0f) * fac + src1[1] * mfac) / 255);
486 dst[2] = (
uchar)(((
int)(
b * 255.0f) * fac + src1[2] * mfac) / 255);
496 const int fac = src2[3];
498 const int mfac = 255 - fac;
502 rgb_to_hsv(src1[0] / 255.0f, src1[1] / 255.0f, src1[2] / 255.0f, &h1, &s1, &
v1);
503 rgb_to_hsv(src2[0] / 255.0f, src2[1] / 255.0f, src2[2] / 255.0f, &h2, &s2, &
v2);
509 dst[0] = (
uchar)(((
int)(
r * 255.0f) * fac + src1[0] * mfac) / 255);
510 dst[1] = (
uchar)(((
int)(
g * 255.0f) * fac + src1[1] * mfac) / 255);
511 dst[2] = (
uchar)(((
int)(
b * 255.0f) * fac + src1[2] * mfac) / 255);
521 const int fac = src2[3];
523 const int mfac = 255 - fac;
527 rgb_to_hsv(src1[0] / 255.0f, src1[1] / 255.0f, src1[2] / 255.0f, &h1, &s1, &
v1);
528 rgb_to_hsv(src2[0] / 255.0f, src2[1] / 255.0f, src2[2] / 255.0f, &h2, &s2, &
v2);
536 dst[0] = (
uchar)(((
int)(
r * 255.0f) * fac + src1[0] * mfac) / 255);
537 dst[1] = (
uchar)(((
int)(
g * 255.0f) * fac + src1[1] * mfac) / 255);
538 dst[2] = (
uchar)(((
int)(
b * 255.0f) * fac + src1[2] * mfac) / 255);
548 const int fac = src2[3];
550 const int mfac = 255 - fac;
554 rgb_to_hsv(src1[0] / 255.0f, src1[1] / 255.0f, src1[2] / 255.0f, &h1, &s1, &
v1);
555 rgb_to_hsv(src2[0] / 255.0f, src2[1] / 255.0f, src2[2] / 255.0f, &h2, &s2, &
v2);
561 dst[0] = (
uchar)(((
int)(
r * 255.0f) * fac + src1[0] * mfac) / 255);
562 dst[1] = (
uchar)(((
int)(
g * 255.0f) * fac + src1[1] * mfac) / 255);
563 dst[2] = (
uchar)(((
int)(
b * 255.0f) * fac + src1[2] * mfac) / 255);
578 const int t = (int)(255 * ft);
579 const int mt = 255 -
t;
580 int tmp = (mt * src1[3] +
t * src2[3]);
598 if (src2[3] != 0.0f) {
600 const float t = src2[3];
601 const float mt = 1.0f -
t;
603 dst[0] = mt * src1[0] + src2[0];
604 dst[1] = mt * src1[1] + src2[1];
605 dst[2] = mt * src1[2] + src2[2];
606 dst[3] = mt * src1[3] +
t;
616 if (src2[3] != 0.0f) {
618 dst[0] = src1[0] + src2[0] * src1[3];
619 dst[1] = src1[1] + src2[1] * src1[3];
620 dst[2] = src1[2] + src2[2] * src1[3];
631 if (src2[3] != 0.0f) {
633 dst[0] =
max_ff(src1[0] - src2[0] * src1[3], 0.0f);
634 dst[1] =
max_ff(src1[1] - src2[1] * src1[3], 0.0f);
635 dst[2] =
max_ff(src1[2] - src2[2] * src1[3], 0.0f);
646 if (src2[3] != 0.0f) {
648 const float t = src2[3];
649 const float mt = 1.0f -
t;
651 dst[0] = mt * src1[0] + src1[0] * src2[0] * src1[3];
652 dst[1] = mt * src1[1] + src1[1] * src2[1] * src1[3];
653 dst[2] = mt * src1[2] + src1[2] * src2[2] * src1[3];
664 if (src2[3] != 0.0f) {
667 const float t = src2[3];
668 const float mt = 1.0f -
t;
669 const float map_alpha = src1[3] / src2[3];
671 dst[0] = mt * src1[0] +
t *
max_ff(src1[0], src2[0] * map_alpha);
672 dst[1] = mt * src1[1] +
t *
max_ff(src1[1], src2[1] * map_alpha);
673 dst[2] = mt * src1[2] +
t *
max_ff(src1[2], src2[2] * map_alpha);
684 if (src2[3] != 0.0f) {
687 const float t = src2[3];
688 const float mt = 1.0f -
t;
689 const float map_alpha = src1[3] / src2[3];
691 dst[0] = mt * src1[0] +
t *
min_ff(src1[0], src2[0] * map_alpha);
692 dst[1] = mt * src1[1] +
t *
min_ff(src1[1], src2[1] * map_alpha);
693 dst[2] = mt * src1[2] +
t *
min_ff(src1[2], src2[2] * map_alpha);
704 if (src2[3] != 0.0f && src1[3] > 0.0f) {
706 float alpha =
max_ff(src1[3] - src2[3], 0.0f);
713 map_alpha = alpha / src1[3];
715 dst[0] = src1[0] * map_alpha;
716 dst[1] = src1[1] * map_alpha;
717 dst[2] = src1[2] * map_alpha;
728 if (src2[3] != 0.0f && src1[3] < 1.0f) {
730 float alpha =
min_ff(src1[3] + src2[3], 1.0f);
737 map_alpha = (src1[3] > 0.0f) ? alpha / src1[3] : 1.0f;
739 dst[0] = src1[0] * map_alpha;
740 dst[1] = src1[1] * map_alpha;
741 dst[2] = src1[2] * map_alpha;
752 const float fac = src2[3];
754 const float mfac = 1.0f - fac;
760 if (src1[i] > 0.5f) {
761 temp = 1.0f - (1.0f - 2.0f * (src1[i] - 0.5f)) * (1.0f - src2[i]);
764 temp = 2.0f * src1[i] * src2[i];
766 dst[i] =
min_ff(temp * fac + src1[i] * mfac, 1.0f);
777 const float fac = src2[3];
779 const float mfac = 1.0f - fac;
785 if (src2[i] > 0.5f) {
786 temp = 1.0f - ((1.0f - 2.0f * (src2[i] - 0.5f)) * (1.0f - src1[i]));
789 temp = 2.0f * src2[i] * src1[i];
791 dst[i] =
min_ff((temp * fac + src1[i] * mfac) / 1.0f, 1.0f);
802 const float fac = src2[3];
804 const float mfac = 1.0f - fac;
808 const float temp = (src2[i] == 0.0f) ? 0.0f :
809 max_ff(1.0f - ((1.0f - src1[i]) / src2[i]), 0.0f);
810 dst[i] = (temp * fac + src1[i] * mfac);
821 const float fac = src2[3];
823 const float mfac = 1.0f - fac;
827 const float temp =
max_ff(src1[i] + src2[i] - 1.0f, 0.0f);
828 dst[i] = (temp * fac + src1[i] * mfac);
839 const float fac = src2[3];
841 const float mfac = 1.0f - fac;
845 const float temp = (src2[i] >= 1.0f) ? 1.0f :
min_ff(src1[i] / (1.0f - src2[i]), 1.0f);
846 dst[i] = (temp * fac + src1[i] * mfac);
857 const float fac = src2[3];
859 const float mfac = 1.0f - fac;
863 const float temp =
max_ff(1.0f - ((1.0f - src1[i]) * (1.0f - src2[i])), 0.0f);
864 dst[i] = (temp * fac + src1[i] * mfac);
875 const float fac = src2[3];
877 const float mfac = 1.0f - fac;
881 float screen = 1.0f - (1.0f - src1[i]) * (1.0f - src2[i]);
882 float soft_light = ((1.0f - src1[i]) * src2[i] + screen) * src1[i];
883 dst[i] = src1[i] * mfac + soft_light * fac;
894 const float fac = src2[3];
896 const float mfac = 1.0f - fac;
902 if (src2[i] > 0.5f) {
903 temp =
max_ff(2.0f * (src2[i] - 0.5f), src1[i]);
906 temp =
min_ff(2.0f * src2[i], src1[i]);
908 dst[i] = (temp * fac + src1[i] * mfac);
919 const float fac = src2[3];
921 const float mfac = 1.0f - fac;
927 if (src2[i] > 0.5f) {
928 temp =
min_ff(src1[i] + 2.0f * (src2[i] - 0.5f), 1.0f);
931 temp =
max_ff(src1[i] + 2.0f * src2[i] - 1.0f, 0.0f);
933 dst[i] = (temp * fac + src1[i] * mfac);
944 const float fac = src2[3];
946 const float mfac = 1.0f - fac;
952 if (src2[i] == 1.0f) {
953 temp = (src1[i] == 0.0f) ? 0.5f : 1.0f;
955 else if (src2[i] == 0.0f) {
956 temp = (src1[i] == 1.0f) ? 0.5f : 0.0f;
958 else if (src2[i] > 0.5f) {
959 temp =
min_ff(((src1[i]) * 1.0f) / (2.0f * (1.0f - src2[i])), 1.0f);
962 temp =
max_ff(1.0f - ((1.0f - src1[i]) * 1.0f / (2.0f * src2[i])), 0.0f);
964 dst[i] = (temp * fac + src1[i] * mfac);
975 const float fac = src2[3];
977 const float mfac = 1.0f - fac;
981 dst[i] = (
fabsf(src1[i] - src2[i]) * fac + src1[i] * mfac);
992 const float fac = src2[3];
994 const float mfac = 1.0f - fac;
998 const float temp = 0.5f - ((2 * (src1[i] - 0.5f) * (src2[i] - 0.5f)));
999 dst[i] = (temp * fac + src1[i] * mfac);
1010 const float fac = src2[3];
1012 const float mfac = 1.0f - fac;
1025 dst[0] = (
r * fac + src1[0] * mfac);
1026 dst[1] = (
g * fac + src1[1] * mfac);
1027 dst[2] = (
b * fac + src1[2] * mfac);
1037 const float fac = src2[3];
1039 const float mfac = 1.0f - fac;
1051 dst[0] = (
r * fac + src1[0] * mfac);
1052 dst[1] = (
g * fac + src1[1] * mfac);
1053 dst[2] = (
b * fac + src1[2] * mfac);
1063 const float fac = src2[3];
1065 const float mfac = 1.0f - fac;
1078 dst[0] = (
r * fac + src1[0] * mfac);
1079 dst[1] = (
g * fac + src1[1] * mfac);
1080 dst[2] = (
b * fac + src1[2] * mfac);
1090 const float fac = src2[3];
1092 const float mfac = 1.0f - fac;
1103 dst[0] = (
r * fac + src1[0] * mfac);
1104 dst[1] = (
g * fac + src1[1] * mfac);
1105 dst[2] = (
b * fac + src1[2] * mfac);
1114 const float src1[4],
1115 const float src2[4],
1119 const float mt = 1.0f -
t;
1121 dst[0] = mt * src1[0] +
t * src2[0];
1122 dst[1] = mt * src1[1] +
t * src2[1];
1123 dst[2] = mt * src1[2] +
t * src2[2];
1124 dst[3] = mt * src1[3] +
t * src2[3];
1127 # undef EPS_SATURATION
MINLINE float max_ff(float a, float b)
MINLINE int min_ii(int a, int b)
MINLINE float min_ff(float a, float b)
MINLINE int max_ii(int a, int b)
MINLINE int divide_round_i(int a, int b)
void rgb_to_hsv(float r, float g, float b, float *r_h, float *r_s, float *r_v)
void hsv_to_rgb(float h, float s, float v, float *r_r, float *r_g, float *r_b)
MINLINE void copy_v4_v4(float r[4], const float a[4])
MINLINE void copy_v4_v4_uchar(unsigned char r[4], const unsigned char a[4])
_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 GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
_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 GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble t
_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 v1
ATTR_WARN_UNUSED_RESULT const BMVert * v2
MINLINE void blend_color_add_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_mul_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_exclusion_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_overlay_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_burn_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_sub_byte(uchar dst[4], const uchar src1[4], const uchar 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_saturation_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_darken_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_hue_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_dodge_byte(uchar dst[4], const uchar src1[4], const uchar 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_pinlight_byte(uchar 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_overlay_byte(uchar 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_add_alpha_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_exclusion_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_hardlight_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_color_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_hue_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_erase_alpha_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_saturation_byte(uchar 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_vividlight_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_mix_byte(uchar dst[4], const uchar src1[4], const uchar 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_sub_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_burn_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_darken_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_interpolate_byte(uchar dst[4], const uchar src1[4], const uchar src2[4], float ft)
MINLINE void blend_color_vividlight_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_add_alpha_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_add_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_hardlight_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_lighten_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_linearburn_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_softlight_float(float dst[4], const float src1[4], const float src2[4])
MINLINE void blend_color_luminosity_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_difference_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_linearlight_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_lighten_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_screen_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_softlight_byte(uchar dst[4], const uchar src1[4], const uchar src2[4])
MINLINE void blend_color_interpolate_float(float dst[4], const float src1[4], const float src2[4], float t)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
static const pxr::TfToken g("g", pxr::TfToken::Immortal)