mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-24 05:17:17 +00:00
3d optimization:: do not draw back walls (not only in horo)
This commit is contained in:
parent
029b0e9d6c
commit
216cd868af
@ -5122,8 +5122,11 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
|
|||||||
|
|
||||||
for(int a=0; a<c->type; a++)
|
for(int a=0; a<c->type; a++)
|
||||||
if(c->move(a) && !isWall3(c->move(a), dummy)) {
|
if(c->move(a) && !isWall3(c->move(a), dummy)) {
|
||||||
if(a < 4 && pmodel == mdPerspective && among(geometry, gHoroTris, gBinary3) && celldistAlt(c) >= celldistAlt(viewctr.at->c7)) continue;
|
if(pmodel == mdPerspective && !sphere && !quotient) {
|
||||||
if(a < 2 && pmodel == mdPerspective && among(geometry, gHoroRec) && celldistAlt(c) >= celldistAlt(viewctr.at->c7)) continue;
|
if(a < 4 && among(geometry, gHoroTris, gBinary3) && celldistAlt(c) >= celldistAlt(viewctr.at->c7)) continue;
|
||||||
|
else if(a < 2 && among(geometry, gHoroRec) && celldistAlt(c) >= celldistAlt(viewctr.at->c7)) continue;
|
||||||
|
else if(c->move(a)->master->distance > c->master->distance && c->master->distance > viewctr.at->distance) continue;
|
||||||
|
}
|
||||||
if(qfi.fshape && wmescher) {
|
if(qfi.fshape && wmescher) {
|
||||||
auto& poly = queuepoly(V, shWall3D[a], darkena(wcol2 - d * get_darkval(a), 0, 0xFF));
|
auto& poly = queuepoly(V, shWall3D[a], darkena(wcol2 - d * get_darkval(a), 0, 0xFF));
|
||||||
if(texture::config.tstate == texture::tsActive && isize(texture::config.tinf3.tvertices)) {
|
if(texture::config.tstate == texture::tsActive && isize(texture::config.tinf3.tvertices)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user