mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-23 21:07:17 +00:00
more elegant tinf handling
This commit is contained in:
parent
04554a436f
commit
093022b3ec
23
polygons.cpp
23
polygons.cpp
@ -965,29 +965,22 @@ void dqi_poly::draw() {
|
||||
return;
|
||||
}
|
||||
glLineWidth(linewidthat(tC0(V), linewidth, flags));
|
||||
if(tinf && offset && !nofill) {
|
||||
dqi_poly npoly = (*this);
|
||||
npoly.V = Id;
|
||||
npoly.tab = &glcoords;
|
||||
npoly.offset = 0;
|
||||
npoly.cnt = isize(glcoords);
|
||||
if(nofill) npoly.color = 0, npoly.tinf = NULL;
|
||||
npoly.flags = poly_flags;
|
||||
if(npoly.tinf && offset) {
|
||||
vector<glvertex> tv;
|
||||
for(int i=0; i<cnt; i++)
|
||||
tv.push_back(tinf->tvertices[offset+i]);
|
||||
swap(tinf->tvertices, tv);
|
||||
dqi_poly npoly = (*this);
|
||||
npoly.V = Id;
|
||||
npoly.tab = &glcoords;
|
||||
npoly.offset = 0;
|
||||
npoly.cnt = isize(glcoords);
|
||||
npoly.flags = poly_flags;
|
||||
npoly.gldraw();
|
||||
swap(tinf->tvertices, tv);
|
||||
}
|
||||
else {
|
||||
dqi_poly npoly = (*this);
|
||||
npoly.V = Id;
|
||||
npoly.tab = &glcoords;
|
||||
npoly.offset = 0;
|
||||
npoly.cnt = isize(glcoords);
|
||||
npoly.flags = poly_flags;
|
||||
npoly.gldraw();
|
||||
if(nofill) npoly.color = 0, npoly.tinf = NULL;
|
||||
npoly.gldraw();
|
||||
}
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user