DRW: Fix DRW_shgroup_call_procedural_* vertex count.
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user