diff options
author | Mike Erwin <significant.bit@gmail.com> | 2017-04-16 19:25:42 +0300 |
---|---|---|
committer | Mike Erwin <significant.bit@gmail.com> | 2017-04-16 19:25:42 +0300 |
commit | 7041b99b5a90509f215db83feeca900d123932b2 (patch) | |
tree | 85f0c6d07ae4b4e738d985c7481a2351caad71e8 | |
parent | bf441fcfacc1648cb5aff87dafd1e5f0098e3d2b (diff) |
use immUniformColor instead of immUniform("color"
The specialized color functions are better in every way:
- faster lookup (don't have to match "color" string)
- flexible inputs (RGB with separate alpha)
- automatic alpha = 1.0 if not specified
Sort of related to T49043
-rw-r--r-- | source/blender/editors/gpencil/drawgpencil.c | 2 | ||||
-rw-r--r-- | source/blender/editors/screen/area.c | 4 | ||||
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_cursor.c | 26 | ||||
-rw-r--r-- | source/blender/editors/space_clip/clip_draw.c | 2 | ||||
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_draw.c | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_gesture.c | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 4 |
7 files changed, 15 insertions, 27 deletions
diff --git a/source/blender/editors/gpencil/drawgpencil.c b/source/blender/editors/gpencil/drawgpencil.c index afed9bf15c3..d36122fa133 100644 --- a/source/blender/editors/gpencil/drawgpencil.c +++ b/source/blender/editors/gpencil/drawgpencil.c @@ -115,7 +115,7 @@ static void gp_set_point_uniform_color(const bGPDspoint *pt, const float ink[4]) { float alpha = ink[3] * pt->strength; CLAMP(alpha, GPENCIL_STRENGTH_MIN, 1.0f); - immUniform4f("color", ink[0], ink[1], ink[2], alpha); + immUniformColor3fvAlpha(ink, alpha); } static void gp_set_point_varying_color(const bGPDspoint *pt, const float ink[4], unsigned attrib_id) diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index 599daef6661..57c8d19f52f 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -303,7 +303,7 @@ static void region_draw_azone_icon(AZone *az) /* outlined circle */ GPU_enable_program_point_size(); /* TODO: make a fixed-size shader to avoid this */ immBindBuiltinProgram(GPU_SHADER_2D_POINT_UNIFORM_SIZE_UNIFORM_COLOR_OUTLINE_AA); - immUniform4f("color", 1.0f, 1.0f, 1.0f, 0.8f); + immUniformColor4f(1.0f, 1.0f, 1.0f, 0.8f); immUniform4f("outlineColor", 0.2f, 0.2f, 0.2f, 0.9f); immUniform1f("outlineWidth", 1.0f); immUniform1f("size", 9.5f); @@ -315,7 +315,7 @@ static void region_draw_azone_icon(AZone *az) /* + */ immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR); - immUniform4f("color", 0.2f, 0.2f, 0.2f, 0.9f); + immUniformColor4f(0.2f, 0.2f, 0.2f, 0.9f); immBegin(PRIM_LINES, 4); immVertex2f(pos, midx, midy - 2); immVertex2f(pos, midx, midy + 3); diff --git a/source/blender/editors/sculpt_paint/paint_cursor.c b/source/blender/editors/sculpt_paint/paint_cursor.c index 744044e89e1..4ea85b465e7 100644 --- a/source/blender/editors/sculpt_paint/paint_cursor.c +++ b/source/blender/editors/sculpt_paint/paint_cursor.c @@ -675,10 +675,10 @@ static void paint_draw_tex_overlay(UnifiedPaintSettings *ups, Brush *brush, immBindBuiltinProgram(GPU_SHADER_2D_IMAGE_COLOR); if (col) { - immUniform4f("color", 1.0f, 1.0f, 1.0f, overlay_alpha / 100.0f); + immUniformColor4f(1.0f, 1.0f, 1.0f, overlay_alpha * 0.01f); } else { - immUniform4f("color", UNPACK3(U.sculpt_paint_overlay_col), overlay_alpha / 100.0f); + immUniformColor3fvAlpha(U.sculpt_paint_overlay_col, overlay_alpha * 0.01f); } /* draw textured quad */ @@ -762,11 +762,7 @@ static void paint_draw_cursor_overlay(UnifiedPaintSettings *ups, Brush *brush, immBindBuiltinProgram(GPU_SHADER_2D_IMAGE_COLOR); - immUniform4f("color", - U.sculpt_paint_overlay_col[0], - U.sculpt_paint_overlay_col[1], - U.sculpt_paint_overlay_col[2], - brush->cursor_overlay_alpha / 100.0f); + immUniformColor3fvAlpha(U.sculpt_paint_overlay_col, brush->cursor_overlay_alpha * 0.01f); /* draw textured quad */ @@ -825,12 +821,8 @@ BLI_INLINE void draw_tri_point( unsigned int pos, float sel_col[4], float pivot_col[4], float *co, float width, bool selected) { - if (selected) { - immUniformColor4fv(sel_col); - } - else { - immUniformColor4fv(pivot_col); - } + immUniformColor4fv(selected ? sel_col : pivot_col); + glLineWidth(3.0f); float w = width / 2.0f; @@ -860,12 +852,8 @@ BLI_INLINE void draw_rect_point( unsigned int pos, float sel_col[4], float handle_col[4], float *co, float width, bool selected) { - if (selected) { - immUniformColor4fv(sel_col); - } - else { - immUniformColor4fv(handle_col); - } + immUniformColor4fv(selected ? sel_col : handle_col); + glLineWidth(3.0f); float w = width / 2.0f; diff --git a/source/blender/editors/space_clip/clip_draw.c b/source/blender/editors/space_clip/clip_draw.c index dfedfa5bc12..ed0cf861e39 100644 --- a/source/blender/editors/space_clip/clip_draw.c +++ b/source/blender/editors/space_clip/clip_draw.c @@ -1105,7 +1105,7 @@ static void draw_plane_marker_image(Scene *scene, unsigned int texCoord = VertexFormat_add_attrib(imm_format, "texCoord", COMP_F32, 2, KEEP_FLOAT); immBindBuiltinProgram(GPU_SHADER_2D_IMAGE_COLOR); - immUniform4f("color", 1.0f, 1.0f, 1.0f, plane_track->image_opacity); + immUniformColor4f(1.0f, 1.0f, 1.0f, plane_track->image_opacity); immUniform1i("image", GL_TEXTURE0); immBegin(PRIM_TRIANGLE_FAN, 4); diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index e735c60c928..51cce607a1c 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -1310,7 +1310,7 @@ void draw_image_seq(const bContext *C, Scene *scene, ARegion *ar, SpaceSeq *sseq unsigned int texCoord = VertexFormat_add_attrib(imm_format, "texCoord", COMP_F32, 2, KEEP_FLOAT); immBindBuiltinProgram(GPU_SHADER_2D_IMAGE_COLOR); - immUniform4f("color", 1.0f, 1.0f, 1.0f, 1.0f); + immUniformColor4f(1.0f, 1.0f, 1.0f, 1.0f); immUniform1i("image", GL_TEXTURE0); immBegin(PRIM_TRIANGLE_FAN, 4); diff --git a/source/blender/windowmanager/intern/wm_gesture.c b/source/blender/windowmanager/intern/wm_gesture.c index 277a219ca5c..afad1895417 100644 --- a/source/blender/windowmanager/intern/wm_gesture.c +++ b/source/blender/windowmanager/intern/wm_gesture.c @@ -226,7 +226,7 @@ static void wm_gesture_draw_rect(wmGesture *gt) glEnable(GL_BLEND); immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR); - immUniform4f("color", 1.0f, 1.0f, 1.0f, 0.05f); + immUniformColor4f(1.0f, 1.0f, 1.0f, 0.05f); immRecti(pos, rect->xmin, rect->ymin, rect->xmax, rect->ymax); diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index d32e615d564..a44d1b60a7b 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -3089,7 +3089,7 @@ static void radial_control_paint_tex(RadialControl *rc, float radius, float alph immBindBuiltinProgram(GPU_SHADER_2D_IMAGE_MASK_UNIFORM_COLOR); - immUniform4f("color", col[0], col[1], col[2], alpha); + immUniformColor3fvAlpha(col, alpha); immUniform1i("image", GL_TEXTURE0); /* set up rotation if available */ @@ -3208,7 +3208,7 @@ static void radial_control_paint_cursor(bContext *C, int x, int y, void *customd unsigned int pos = VertexFormat_add_attrib(format, "pos", COMP_F32, 2, KEEP_FLOAT); immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR); - immUniformColor3fvAlpha(col, 0.5); + immUniformColor3fvAlpha(col, 0.5f); if (rc->subtype == PROP_ANGLE) { gpuPushMatrix(); |