Skip to main content
Post Closed as "Needs details or clarity" by Kromster, Anko, CommunityBot
added 282 characters in body
Source Link

I've been working on this problem for a while now. My problem is that the sphere in the top image, is under-lapping the plane which should have a lower Z value. Although, when depth testing is disabled, it is resolved. But it favors draw order over actual fragment depth value. I was changing the depth mask out of desperation. ;)

GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
rootObject.render(ambient);

GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE);
GL11.glDepthMask(false);
GL11.glDepthFunc(GL11.GL_EQUAL);

for(int i = 0; i < lights.size(); i++){
    lights.get(i).use();
    rootObject.render(lights.get(i).getProgram());
}

GL11.glDepthFunc(GL11.GL_LESS);
GL11.glDepthMask(true);

-- Screenies:

GL11.glEnable(GL11.GL_DEPTH_TEST);

depth issue1

GL11.glDisable(GL11.GL_DEPTH_TEST);

depth issue2

I've been working on this problem for a while now.

GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
rootObject.render(ambient);

GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE);
GL11.glDepthMask(false);
GL11.glDepthFunc(GL11.GL_EQUAL);

for(int i = 0; i < lights.size(); i++){
    lights.get(i).use();
    rootObject.render(lights.get(i).getProgram());
}

GL11.glDepthFunc(GL11.GL_LESS);
GL11.glDepthMask(true);

-- Screenies:

GL11.glEnable(GL11.GL_DEPTH_TEST);

depth issue1

GL11.glDisable(GL11.GL_DEPTH_TEST);

depth issue2

I've been working on this problem for a while now. My problem is that the sphere in the top image, is under-lapping the plane which should have a lower Z value. Although, when depth testing is disabled, it is resolved. But it favors draw order over actual fragment depth value. I was changing the depth mask out of desperation. ;)

GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
rootObject.render(ambient);

GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE);
GL11.glDepthMask(false);
GL11.glDepthFunc(GL11.GL_EQUAL);

for(int i = 0; i < lights.size(); i++){
    lights.get(i).use();
    rootObject.render(lights.get(i).getProgram());
}

GL11.glDepthFunc(GL11.GL_LESS);
GL11.glDepthMask(true);

-- Screenies:

GL11.glEnable(GL11.GL_DEPTH_TEST);

depth issue1

GL11.glDisable(GL11.GL_DEPTH_TEST);

depth issue2

deleted 33 characters in body
Source Link

I've been working on this problem for a while now. Here's a screenshot, with depth:

GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
rootObject.render(ambient);

GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE);
GL11.glDepthMask(false);
GL11.glDepthFunc(GL11.GL_EQUAL);

for(int i = 0; i < lights.size(); i++){
    lights.get(i).use();
    rootObject.render(lights.get(i).getProgram());
}

GL11.glDepthFunc(GL11.GL_LESS);
GL11.glDepthMask(true);

-- Screenies:

GL11.glEnable(GL11.GL_DEPTH_TEST);

depth issue1

GL11.glDisable(GL11.GL_DEPTH_TEST);

depth issue2

I've been working on this problem for a while now. Here's a screenshot, with depth:

GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
rootObject.render(ambient);

GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE);
GL11.glDepthMask(false);
GL11.glDepthFunc(GL11.GL_EQUAL);

for(int i = 0; i < lights.size(); i++){
    lights.get(i).use();
    rootObject.render(lights.get(i).getProgram());
}

GL11.glDepthFunc(GL11.GL_LESS);
GL11.glDepthMask(true);

-- Screenies:

GL11.glEnable(GL11.GL_DEPTH_TEST);

depth issue1

GL11.glDisable(GL11.GL_DEPTH_TEST);

depth issue2

I've been working on this problem for a while now.

GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
rootObject.render(ambient);

GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE);
GL11.glDepthMask(false);
GL11.glDepthFunc(GL11.GL_EQUAL);

for(int i = 0; i < lights.size(); i++){
    lights.get(i).use();
    rootObject.render(lights.get(i).getProgram());
}

GL11.glDepthFunc(GL11.GL_LESS);
GL11.glDepthMask(true);

-- Screenies:

GL11.glEnable(GL11.GL_DEPTH_TEST);

depth issue1

GL11.glDisable(GL11.GL_DEPTH_TEST);

depth issue2

Source Link

OpenGL Depth Test Errors

I've been working on this problem for a while now. Here's a screenshot, with depth:

GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
rootObject.render(ambient);

GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE);
GL11.glDepthMask(false);
GL11.glDepthFunc(GL11.GL_EQUAL);

for(int i = 0; i < lights.size(); i++){
    lights.get(i).use();
    rootObject.render(lights.get(i).getProgram());
}

GL11.glDepthFunc(GL11.GL_LESS);
GL11.glDepthMask(true);

-- Screenies:

GL11.glEnable(GL11.GL_DEPTH_TEST);

depth issue1

GL11.glDisable(GL11.GL_DEPTH_TEST);

depth issue2