Refactor depth state changing
parent
c26f64a89e
commit
8768f3497a
|
@ -291,8 +291,6 @@ ArrowReferenceMark::render(Renderer* renderer,
|
|||
auto &vo = renderer->getVertexObject(VOType::AxisArrow, GL_ARRAY_BUFFER, 0, GL_STATIC_DRAW);
|
||||
RenderArrow(vo);
|
||||
|
||||
renderer->disableDepthTest();
|
||||
renderer->disableDepthMask();
|
||||
renderer->enableBlending();
|
||||
renderer->setBlendingFactors(GL_SRC_ALPHA, GL_ONE);
|
||||
}
|
||||
|
@ -418,8 +416,6 @@ AxesReferenceMark::render(Renderer* renderer,
|
|||
prog->MVPMatrix = t * labelTransformMatrix;
|
||||
RenderZ(vo);
|
||||
|
||||
renderer->disableDepthTest();
|
||||
renderer->disableDepthMask();
|
||||
renderer->enableBlending();
|
||||
renderer->setBlendingFactors(GL_SRC_ALPHA, GL_ONE);
|
||||
}
|
||||
|
|
|
@ -374,6 +374,7 @@ void Renderer::renderSelectionPointer(const Observer& observer,
|
|||
markerVO.draw(GL_TRIANGLES, SelPointerCount, SelPointerOffset);
|
||||
|
||||
markerVO.unbind();
|
||||
enableDepthTest();
|
||||
|
||||
#ifdef USE_HDR
|
||||
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
|
||||
|
|
|
@ -247,8 +247,6 @@ PlanetographicGrid::render(Renderer* renderer,
|
|||
|
||||
glDisableVertexAttribArray(CelestiaGLProgram::VertexCoordAttributeIndex);
|
||||
|
||||
renderer->disableDepthTest();
|
||||
renderer->disableDepthMask();
|
||||
renderer->enableBlending();
|
||||
renderer->setBlendingFactors(GL_SRC_ALPHA, GL_ONE);
|
||||
}
|
||||
|
|
|
@ -1765,6 +1765,9 @@ void Renderer::draw(const Observer& observer,
|
|||
glPolygonMode(GL_FRONT_AND_BACK, (GLenum) renderMode);
|
||||
#endif
|
||||
|
||||
enableDepthTest();
|
||||
enableDepthMask();
|
||||
|
||||
int nIntervals = buildDepthPartitions();
|
||||
renderSolarSystemObjects(observer, nIntervals, now);
|
||||
|
||||
|
@ -1923,8 +1926,6 @@ void Renderer::renderObjectAsPoint(const Vector3f& position,
|
|||
gaussianGlareTex->bind();
|
||||
renderPoint(*this, position, {color, glareAlpha}, glareSize, true, m);
|
||||
}
|
||||
|
||||
disableDepthTest();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2983,8 +2984,6 @@ void Renderer::renderObject(const Vector3f& pos,
|
|||
}
|
||||
}
|
||||
|
||||
disableDepthTest();
|
||||
disableDepthMask();
|
||||
enableBlending();
|
||||
}
|
||||
|
||||
|
@ -3387,16 +3386,10 @@ void Renderer::renderPlanet(Body& body,
|
|||
cityRep = MarkerRepresentation(MarkerRepresentation::X, 3.0f, LocationLabelColor);
|
||||
genericLocationRep = MarkerRepresentation(MarkerRepresentation::Square, 8.0f, LocationLabelColor);
|
||||
|
||||
enableDepthTest();
|
||||
disableDepthMask();
|
||||
disableBlending();
|
||||
|
||||
// We need a double precision body-relative position of the
|
||||
// observer, otherwise location labels will tend to jitter.
|
||||
Vector3d posd = body.getPosition(observer.getTime()).offsetFromKm(observer.getPosition());
|
||||
locationsToAnnotations(body, posd, q);
|
||||
|
||||
disableDepthTest();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3667,6 +3660,7 @@ void Renderer::renderCometTail(const Body& body,
|
|||
}
|
||||
}
|
||||
|
||||
disableDepthTest();
|
||||
disableDepthMask();
|
||||
glDisable(GL_CULL_FACE);
|
||||
enableBlending();
|
||||
|
@ -3723,6 +3717,8 @@ void Renderer::renderCometTail(const Body& body,
|
|||
glDisableClientState(GL_VERTEX_ARRAY);
|
||||
enableBlending();
|
||||
#endif
|
||||
enableDepthTest();
|
||||
enableDepthMask();
|
||||
}
|
||||
|
||||
|
||||
|
@ -6020,7 +6016,6 @@ Renderer::renderSolarSystemObjects(const Observer &observer,
|
|||
// Render orbit paths
|
||||
if (!orbitPathList.empty())
|
||||
{
|
||||
enableDepthTest();
|
||||
disableDepthMask();
|
||||
#ifdef USE_HDR
|
||||
setBlendingFactors(GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA);
|
||||
|
@ -6050,7 +6045,6 @@ Renderer::renderSolarSystemObjects(const Observer &observer,
|
|||
}
|
||||
|
||||
disableSmoothLines();
|
||||
disableDepthMask();
|
||||
}
|
||||
|
||||
// Render transparent objects in the second pass
|
||||
|
@ -6071,7 +6065,6 @@ Renderer::renderSolarSystemObjects(const Observer &observer,
|
|||
FontNormal);
|
||||
endObjectAnnotations();
|
||||
disableSmoothLines();
|
||||
disableDepthTest();
|
||||
}
|
||||
|
||||
// reset the depth range
|
||||
|
|
|
@ -215,8 +215,6 @@ VisibleRegion::render(Renderer* renderer,
|
|||
Matrix4f mvp = (*m.projection) * (*m.modelview) * transform.matrix();
|
||||
renderTerminator(renderer, pos, Color(m_color, opacity), mvp);
|
||||
|
||||
renderer->disableDepthTest();
|
||||
renderer->disableDepthMask();
|
||||
renderer->enableBlending();
|
||||
renderer->setBlendingFactors(GL_SRC_ALPHA, GL_ONE);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue