mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 02:15:43 -04:00
use per-prim minmax
This commit is contained in:
parent
6a4b827ea7
commit
c92e7e92d4
@ -2699,23 +2699,23 @@ draw_tristrips(const qpGeomTristrips *primitive) {
|
||||
int max_vertex = primitive->get_max_vertex();
|
||||
CPTA_ushort vertices = primitive->get_flat_first_vertices();
|
||||
CPTA_int ends = primitive->get_ends();
|
||||
CPTA_ushort mins = primitive->get_mins();
|
||||
CPTA_ushort maxs = primitive->get_maxs();
|
||||
nassertv(mins.size() == ends.size() && maxs.size() == ends.size());
|
||||
|
||||
CPTA_uchar array_data = _vertex_data->get_array_data(0);
|
||||
int stride = _vertex_data->get_format()->get_array(0)->get_stride();
|
||||
|
||||
int num_primitives = primitive->get_num_primitives();
|
||||
int start = 0;
|
||||
for (CPTA_int::const_iterator pi = ends.begin(); pi != ends.end(); ++pi) {
|
||||
int end = (*pi);
|
||||
|
||||
unsigned int start = 0;
|
||||
for (size_t i = 0; i < ends.size(); i++) {
|
||||
_pD3DDevice->DrawIndexedPrimitiveUP
|
||||
(D3DPT_TRIANGLESTRIP,
|
||||
min_vertex, max_vertex - min_vertex + 1,
|
||||
end - start - 2,
|
||||
mins[i], maxs[i] - mins[i] + 1,
|
||||
ends[i] - start - 2,
|
||||
vertices + start, D3DFMT_INDEX16,
|
||||
array_data, stride);
|
||||
|
||||
start = end;
|
||||
start = ends[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user