Remove fixed pipeline calls

pull/3/head
Hleb Valoshka 2019-11-20 00:39:59 +03:00
parent 18856700a9
commit 32eaa68d0a
11 changed files with 8 additions and 85 deletions

View File

@ -275,8 +275,6 @@ ArrowReferenceMark::render(Renderer* renderer,
glPushMatrix();
glRotate(q.cast<float>());
glScalef(size, size, size);
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_2D);
CelestiaGLProgram* prog = renderer->getShaderManager().getShader(shadprop);
if (prog == nullptr)
@ -290,7 +288,6 @@ ArrowReferenceMark::render(Renderer* renderer,
glUseProgram(0);
glDisable(GL_DEPTH_TEST);
glDepthMask(GL_FALSE);
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
}
@ -354,14 +351,10 @@ AxesReferenceMark::render(Renderer* renderer,
#endif
}
glDisable(GL_TEXTURE_2D);
glPushMatrix();
glRotate(q.cast<float>());
glScalef(size, size, size);
glDisable(GL_LIGHTING);
#if 0
// Simple line axes
glBegin(GL_LINES);
@ -423,7 +416,6 @@ AxesReferenceMark::render(Renderer* renderer,
glUseProgram(0);
glDisable(GL_DEPTH_TEST);
glDepthMask(GL_FALSE);
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
}

View File

@ -81,7 +81,6 @@ void Console::begin()
glLoadIdentity();
glTranslatef(0.125f, 0.125f, 0);
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

View File

@ -465,7 +465,6 @@ void Globular::renderGlobularPointSprites(
assert(globularTex != nullptr);
glEnable(GL_BLEND);
glEnable(GL_TEXTURE_2D);
glEnable(GL_POINT_SPRITE);
glEnable(GL_VERTEX_PROGRAM_POINT_SIZE);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@ -526,7 +525,6 @@ void Globular::renderGlobularPointSprites(
// These should be called but stars are broken then
// TODO: find and fix
//glDisable(GL_BLEND);
//glDisable(GL_TEXTURE_2D);
}
uint64_t Globular::getRenderMask() const

View File

@ -252,7 +252,6 @@ void LODSphereMesh::render(unsigned int attributes,
subtextures[i] = 0;
if (nTextures > 1)
glActiveTexture(GL_TEXTURE0 + i);
glEnable(GL_TEXTURE_2D);
}
#ifdef VERTEX_BUFFER_OBJECTS_ENABLED
@ -419,8 +418,6 @@ void LODSphereMesh::render(unsigned int attributes,
glActiveTexture(GL_TEXTURE0 + i);
}
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
if (i > 0)
glDisable(GL_TEXTURE_2D);
}
if (nTextures > 1)
@ -445,8 +442,6 @@ void LODSphereMesh::render(unsigned int attributes,
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glDisable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
glColor4f(1, 0, 0, 1);
glTranslatef(0, 0, -20);
glBegin(GL_LINES);
@ -485,8 +480,6 @@ void LODSphereMesh::render(unsigned int attributes,
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glDisable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
glColor4f(1, 0, 1, 1);
{

View File

@ -41,7 +41,6 @@ void Overlay::begin()
glLoadIdentity();
glTranslatef(0.125f, 0.125f, 0);
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

View File

@ -324,8 +324,6 @@ ParticleEmitter::render(double tsec,
Vector3f v2 = modelViewMatrix * Vector3f( 1.0f, 1.0f, 0.0f);
Vector3f v3 = modelViewMatrix * Vector3f(-1.0f, 1.0f, 0.0f);
glDisable(GL_LIGHTING);
Texture* texture = nullptr;
if (m_texture != InvalidResource)
{
@ -333,14 +331,7 @@ ParticleEmitter::render(double tsec,
}
if (texture != nullptr)
{
glEnable(GL_TEXTURE_2D);
texture->bind();
}
else
{
glDisable(GL_TEXTURE_2D);
}
// Use premultiplied alpha
glEnable(GL_BLEND);
@ -493,9 +484,6 @@ ParticleSystem::render(RenderContext& rc, double tsec)
{
emitter->render(tsec, rc, m_vertexData, m_particleCapacity);
}
glEnable(GL_LIGHTING);
glEnable(GL_TEXTURE_2D);
}

View File

@ -533,7 +533,6 @@ GLSL_RenderContext::makeCurrent(const Material& m)
for (unsigned int i = 0; i < nTextures; i++)
{
glActiveTexture(GL_TEXTURE0 + i);
glEnable(GL_TEXTURE_2D);
textures[i]->bind();
}
@ -717,7 +716,6 @@ GLSLUnlit_RenderContext::makeCurrent(const Material& m)
for (unsigned int i = 0; i < nTextures; i++)
{
glActiveTexture(GL_TEXTURE0 + i);
glEnable(GL_TEXTURE_2D);
textures[i]->bind();
}

View File

@ -863,10 +863,6 @@ bool Renderer::init(
glEnable(GL_MULTISAMPLE);
#endif
glEnable(GL_RESCALE_NORMAL_EXT);
glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL_EXT, GL_SEPARATE_SPECULAR_COLOR_EXT);
#ifdef USE_HDR
Image *testImg = new Image(GL_LUMINANCE_ALPHA, 1, 1);
ImageTexture *testTex = new ImageTexture(*testImg,
@ -905,10 +901,6 @@ bool Renderer::init(
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE);
// LEQUAL rather than LESS required for multipass rendering
glDepthFunc(GL_LEQUAL);
@ -1778,7 +1770,6 @@ void Renderer::render(const Observer& observer,
glPushAttrib(GL_ENABLE_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_TEXTURE_2D);
glDisable(GL_BLEND);
glDisable(GL_LIGHTING);
glDisable(GL_DEPTH_TEST);
glDepthMask(GL_FALSE);
@ -2180,10 +2171,6 @@ void Renderer::draw(const Observer& observer,
ambientColor = Color(ambientLightLevel, ambientLightLevel, ambientLightLevel);
#endif
// Create the ambient light source. For realistic scenes in space, this
// should be black.
glAmbientLightColor(ambientColor);
#ifdef USE_HDR
glClearColor(skyColor.red(), skyColor.green(), skyColor.blue(), 0.0f);
#else
@ -2191,9 +2178,6 @@ void Renderer::draw(const Observer& observer,
#endif
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glDisable(GL_LIGHTING);
glDepthMask(GL_FALSE);
// Render sky grids first--these will always be in the background
@ -2201,7 +2185,6 @@ void Renderer::draw(const Observer& observer,
renderSkyGrids(observer);
disableSmoothLines(renderFlags);
glEnable(GL_BLEND);
glEnable(GL_TEXTURE_2D);
// Render deep sky objects
if ((renderFlags & ShowDSO) != 0 && universe.getDSOCatalog() != nullptr)
@ -2315,8 +2298,7 @@ void Renderer::draw(const Observer& observer,
}
}
glPolygonMode(GL_FRONT, (GLenum) renderMode);
glPolygonMode(GL_BACK, (GLenum) renderMode);
glPolygonMode(GL_FRONT_AND_BACK, (GLenum) renderMode);
{
Matrix3f viewMat = observer.getOrientationf().conjugate().toRotationMatrix();
@ -2759,8 +2741,6 @@ void Renderer::draw(const Observer& observer,
// Render orbit paths
if (!orbitPathList.empty())
{
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE_2D);
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_FALSE);
#ifdef USE_HDR
@ -2857,15 +2837,11 @@ void Renderer::draw(const Observer& observer,
// Pop camera orientation matrix
glPopMatrix();
glEnable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glDisable(GL_BLEND);
glDepthMask(GL_TRUE);
glEnable(GL_LIGHTING);
#if 0
int errCode = glGetError();
@ -3949,14 +3925,12 @@ void Renderer::renderObject(const Vector3f& pos,
this);
}
// XXX: this code should be removed
for (unsigned int i = 1; i < 8;/*context->getMaxTextures();*/ i++)
for (unsigned int i = 0; i < 8;/*context->getMaxTextures();*/ i++)
{
glActiveTexture(GL_TEXTURE0 + i);
glDisable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, 0);
}
glActiveTexture(GL_TEXTURE0);
glEnable(GL_TEXTURE_2D);
}
}
@ -4536,7 +4510,6 @@ void Renderer::renderPlanet(Body& body,
}
}
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
#ifdef USE_HDR
@ -4630,7 +4603,6 @@ void Renderer::renderStar(const Star& star,
rp, LightingState());
}
glEnable(GL_TEXTURE_2D);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
#ifdef USE_HDR
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_FALSE);
@ -4854,14 +4826,11 @@ void Renderer::renderCometTail(const Body& body,
glUseProgram(0);
#ifdef DEBUG_COMET_TAIL
glDisable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
glColor4f(0.0f, 1.0f, 1.0f, 0.5f);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, cometPoints);
glDrawArrays(GL_LINE_STRIP, 0, nTailPoints);
glDisableClientState(GL_VERTEX_ARRAY);
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
#endif
@ -4893,7 +4862,6 @@ void Renderer::renderReferenceMark(const ReferenceMark& refMark,
glDisable(GL_DEPTH_TEST);
glDepthMask(GL_FALSE);
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
}
@ -5653,7 +5621,6 @@ void Renderer::renderPointStars(const StarDatabase& starDB,
starRenderer.colorTemp = colorTemp;
glEnable(GL_TEXTURE_2D);
gaussianDiscTex->bind();
starRenderer.starVertexBuffer->setTexture(gaussianDiscTex);
starRenderer.glareVertexBuffer->setTexture(gaussianGlareTex);
@ -6769,7 +6736,6 @@ static void drawRectangle(const Renderer &renderer, const Rect &r)
prog->use();
if (r.tex != nullptr)
{
glEnable(GL_TEXTURE_2D);
r.tex->bind();
prog->samplerParam("tex") = 0;
}

View File

@ -568,12 +568,7 @@ renderAtmosphere_GLSL(const RenderInfo& ri,
glDepthMask(GL_TRUE);
glFrontFace(GL_CCW);
glPopMatrix();
glUseProgram(0);
//glActiveTexture(GL_TEXTURE0);
//glEnable(GL_TEXTURE_2D);
}
static void renderRingSystem(GLuint *vboId,
@ -762,8 +757,6 @@ void renderRings_GLSL(RingSystem& rings,
if (ringsTex != nullptr)
ringsTex->bind();
else
glDisable(GL_TEXTURE_2D);
unsigned nSections = 180;
size_t i = 0;

View File

@ -48,8 +48,9 @@ static TextureCaps texCaps;
static bool testMaxLevel()
{
unsigned char texels[64];
glEnable(GL_TEXTURE_2D);
GLuint textureID;
glGenTextures(1, &textureID);
glBindTexture(GL_TEXTURE_2D, textureID);
// Test whether GL_TEXTURE_MAX_LEVEL is supported . . .
glTexImage2D(GL_TEXTURE_2D,
0,
@ -62,7 +63,7 @@ static bool testMaxLevel()
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 2);
float maxLev = -1.0f;
glGetTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, &maxLev);
glDisable(GL_TEXTURE_2D);
glDeleteTextures(1, &textureID);
return maxLev == 2;
}
@ -378,7 +379,7 @@ ImageTexture::ImageTexture(Image& img,
}
if (mipMapMode == AutoMipMaps)
glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_TRUE);
glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE);
int internalFormat = getInternalFormat(img.getFormat());

View File

@ -169,9 +169,6 @@ VisibleRegion::render(Renderer* renderer,
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
#endif
glDisable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
glPushMatrix();
glRotate(qf.conjugate());
@ -219,7 +216,6 @@ VisibleRegion::render(Renderer* renderer,
glDisable(GL_DEPTH_TEST);
glDepthMask(GL_FALSE);
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE);
}