DRW: Fix DRW_shgroup_call_procedural_* vertex count.

This commit is contained in:
2018-05-31 18:34:56 +02:00
parent 494470ba23
commit f43e3d0b6b
3 changed files with 6 additions and 6 deletions

View File

@@ -149,7 +149,7 @@ typedef struct DRWCall {
void *user_data;
} generate;
struct { /* type == DRW_CALL_PROCEDURAL */
unsigned int prim_count;
uint vert_count;
Gwn_PrimType prim_type;
} procedural;
};

View File

@@ -367,7 +367,7 @@ void DRW_shgroup_call_add(DRWShadingGroup *shgroup, Gwn_Batch *geom, float (*obm
}
static void drw_shgroup_call_procedural_add_ex(
DRWShadingGroup *shgroup, Gwn_PrimType prim_type, uint prim_count, float (*obmat)[4])
DRWShadingGroup *shgroup, Gwn_PrimType prim_type, uint vert_count, float (*obmat)[4])
{
BLI_assert(ELEM(shgroup->type, DRW_SHG_NORMAL, DRW_SHG_FEEDBACK_TRANSFORM));
@@ -375,7 +375,7 @@ static void drw_shgroup_call_procedural_add_ex(
call->state = drw_call_state_create(shgroup, obmat, NULL);
call->type = DRW_CALL_PROCEDURAL;
call->procedural.prim_type = prim_type;
call->procedural.prim_count = prim_count;
call->procedural.vert_count = vert_count;
#ifdef USE_GPU_SELECT
call->select_id = DST.select_id;
#endif
@@ -390,12 +390,12 @@ void DRW_shgroup_call_procedural_points_add(DRWShadingGroup *shgroup, uint point
void DRW_shgroup_call_procedural_lines_add(DRWShadingGroup *shgroup, uint line_count, float (*obmat)[4])
{
drw_shgroup_call_procedural_add_ex(shgroup, GWN_PRIM_LINES, line_count, obmat);
drw_shgroup_call_procedural_add_ex(shgroup, GWN_PRIM_LINES, line_count * 2, obmat);
}
void DRW_shgroup_call_procedural_triangles_add(DRWShadingGroup *shgroup, uint tria_count, float (*obmat)[4])
{
drw_shgroup_call_procedural_add_ex(shgroup, GWN_PRIM_TRIS, tria_count, obmat);
drw_shgroup_call_procedural_add_ex(shgroup, GWN_PRIM_TRIS, tria_count * 3, obmat);
}

View File

@@ -1157,7 +1157,7 @@ static void draw_shgroup(DRWShadingGroup *shgroup, DRWState pass_state)
call->generate.geometry_fn(shgroup, draw_geometry_execute, call->generate.user_data);
break;
case DRW_CALL_PROCEDURAL:
GWN_draw_primitive(call->procedural.prim_type, call->procedural.prim_count);
GWN_draw_primitive(call->procedural.prim_type, call->procedural.vert_count);
break;
default:
BLI_assert(0);