From aac03e72fe6e0df3165b58eaa3a443c2e2a7a9af Mon Sep 17 00:00:00 2001 From: ? Date: Wed, 27 Feb 2019 01:16:07 +0100 Subject: [PATCH] 3d:: depthtest disabled for PPR::SUPERLINE and beyond --- graph.cpp | 2 +- hyper.h | 4 +++- polygons.cpp | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/graph.cpp b/graph.cpp index a466dbc5..3100aef2 100644 --- a/graph.cpp +++ b/graph.cpp @@ -5364,7 +5364,7 @@ void queuecircleat(cell *c, double rad, color_t col) { dynamicval p(poly_outline, col); for(int i=0; itype; i++) { if(binarytiling && i < 4) continue; - queuepolyat(gmatrix[c], shBinaryWall[i], 0, PPR::LINE); + queuepolyat(gmatrix[c], shBinaryWall[i], 0, PPR::SUPERLINE); } return; } diff --git a/hyper.h b/hyper.h index 89d3b904..461a8fbf 100644 --- a/hyper.h +++ b/hyper.h @@ -2074,7 +2074,9 @@ enum class PPR { PARTICLE, SWORDMARK, MAGICSWORD, MISSILE, MINEMARK, ARROW, MOBILE_ARROW, - LINE, TEXT, CIRCLE, + LINE, + // no depth testing for SUPERLINE and above + SUPERLINE, TEXT, CIRCLE, MAX, DEFAULT = -1 }; diff --git a/polygons.cpp b/polygons.cpp index f855c10e..07d4fdf5 100644 --- a/polygons.cpp +++ b/polygons.cpp @@ -608,7 +608,7 @@ void dqi_poly::gldraw() { current_display->set_mask(ed); glhr::color2(color); - glhr::set_depthtest(model_needs_depth()); + glhr::set_depthtest(model_needs_depth() && prio < PPR::SUPERLINE); if(flags & (POLY_INVERSE | POLY_FORCE_INVERTED)) { glStencilOp( GL_ZERO, GL_ZERO, GL_ZERO); @@ -640,7 +640,7 @@ void dqi_poly::gldraw() { if(outline) { glhr::color2(outline); - glhr::set_depthtest(model_needs_depth()); + glhr::set_depthtest(model_needs_depth() && prio < PPR::SUPERLINE); glDrawArrays(GL_LINE_STRIP, offset, cnt); } }