fix issue with Intel OpenGL 3.x driver under Ubuntu, render to texture cannot handle glDrawBuffer(GL_NONE)
This commit is contained in:
@@ -802,11 +802,6 @@ void GLInstancingRenderer::InitShaders()
|
||||
glLinkProgram(createShadowMapInstancingShader);
|
||||
glUseProgram(createShadowMapInstancingShader);
|
||||
createShadow_depthMVP = glGetUniformLocation(createShadowMapInstancingShader, "depthMVP");
|
||||
if (createShadow_depthMVP==0)
|
||||
{
|
||||
printf("Issue with createShadowMapInstancingFragmentShader (createShadow_depthMVP==0), disabling shadow maps\n");
|
||||
useShadowMap=false;
|
||||
}
|
||||
|
||||
glUseProgram(0);
|
||||
|
||||
|
||||
@@ -66,7 +66,9 @@ bool GLRenderToTexture::enable()
|
||||
}
|
||||
case RENDERTEXTURE_DEPTH:
|
||||
{
|
||||
glDrawBuffer(GL_NONE);
|
||||
GLenum drawBuffers[2] = {GL_DEPTH_ATTACHMENT,0};
|
||||
glDrawBuffers(1, drawBuffers);
|
||||
//glDrawBuffer(GL_NONE);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -5,6 +5,6 @@ static const char* createShadowMapInstancingFragmentShader= \
|
||||
"layout(location = 0) out float fragmentdepth;\n"
|
||||
"void main(void)\n"
|
||||
"{\n"
|
||||
" fragmentdepth = gl_FragCoord.z+0.0001*gl_FragCoord.x;\n"
|
||||
" fragmentdepth = gl_FragCoord.z;\n"
|
||||
"}\n"
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user