Move imm_draw_line_box_dashed to GPU_immediate_util.
This commit is contained in:
@@ -44,6 +44,8 @@ void imm_draw_line_box(unsigned pos, float x1, float y1, float x2, float y2);
|
||||
|
||||
void imm_draw_line_box_3d(unsigned pos, float x1, float y1, float x2, float y2);
|
||||
|
||||
void imm_draw_line_box_dashed(uint pos, uint line_origin, float x1, float y1, float x2, float y2);
|
||||
|
||||
void imm_draw_checker_box(float x1, float y1, float x2, float y2);
|
||||
|
||||
void imm_draw_cylinder_fill_normal_3d(
|
||||
|
||||
@@ -181,6 +181,32 @@ void imm_draw_line_box_3d(unsigned pos, float x1, float y1, float x2, float y2)
|
||||
immEnd();
|
||||
}
|
||||
|
||||
/** Same as \a imm_draw_line_box, but for dashed shader. */
|
||||
/* TODO find a way to generate screen-space dashed lines without that line_origin ugly hack
|
||||
* (would not bet it's possible with current GLSL though :( ). */
|
||||
void imm_draw_line_box_dashed(uint pos, uint line_origin, float x1, float y1, float x2, float y2)
|
||||
{
|
||||
immBegin(PRIM_LINES, 8);
|
||||
|
||||
immAttrib2f(line_origin, x1, y1);
|
||||
immVertex2f(pos, x1, y1);
|
||||
immVertex2f(pos, x1, y2);
|
||||
|
||||
immAttrib2f(line_origin, x1, y2);
|
||||
immVertex2f(pos, x1, y2);
|
||||
immVertex2f(pos, x2, y2);
|
||||
|
||||
immAttrib2f(line_origin, x2, y1);
|
||||
immVertex2f(pos, x2, y2);
|
||||
immVertex2f(pos, x2, y1);
|
||||
|
||||
immAttrib2f(line_origin, x1, y1);
|
||||
immVertex2f(pos, x2, y1);
|
||||
immVertex2f(pos, x1, y1);
|
||||
|
||||
immEnd();
|
||||
}
|
||||
|
||||
/**
|
||||
* Draw a standard checkerboard to indicate transparent backgrounds.
|
||||
*/
|
||||
|
||||
@@ -199,24 +199,6 @@ static void wm_gesture_draw_line(wmGesture *gt)
|
||||
immUnbindProgram();
|
||||
}
|
||||
|
||||
static void imm_draw_line_box_dashed(unsigned pos, unsigned line_origin, float x1, float y1, float x2, float y2)
|
||||
{
|
||||
immBegin(PRIM_LINES, 8);
|
||||
immAttrib2f(line_origin, x1, y1);
|
||||
immVertex2f(pos, x1, y1);
|
||||
immVertex2f(pos, x1, y2);
|
||||
immAttrib2f(line_origin, x1, y2);
|
||||
immVertex2f(pos, x1, y2);
|
||||
immVertex2f(pos, x2, y2);
|
||||
immAttrib2f(line_origin, x2, y1);
|
||||
immVertex2f(pos, x2, y2);
|
||||
immVertex2f(pos, x2, y1);
|
||||
immAttrib2f(line_origin, x1, y1);
|
||||
immVertex2f(pos, x2, y1);
|
||||
immVertex2f(pos, x1, y1);
|
||||
immEnd();
|
||||
}
|
||||
|
||||
static void wm_gesture_draw_rect(wmGesture *gt)
|
||||
{
|
||||
rcti *rect = (rcti *)gt->customdata;
|
||||
|
||||
Reference in New Issue
Block a user