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);
|
glLinkProgram(createShadowMapInstancingShader);
|
||||||
glUseProgram(createShadowMapInstancingShader);
|
glUseProgram(createShadowMapInstancingShader);
|
||||||
createShadow_depthMVP = glGetUniformLocation(createShadowMapInstancingShader, "depthMVP");
|
createShadow_depthMVP = glGetUniformLocation(createShadowMapInstancingShader, "depthMVP");
|
||||||
if (createShadow_depthMVP==0)
|
|
||||||
{
|
|
||||||
printf("Issue with createShadowMapInstancingFragmentShader (createShadow_depthMVP==0), disabling shadow maps\n");
|
|
||||||
useShadowMap=false;
|
|
||||||
}
|
|
||||||
|
|
||||||
glUseProgram(0);
|
glUseProgram(0);
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,9 @@ bool GLRenderToTexture::enable()
|
|||||||
}
|
}
|
||||||
case RENDERTEXTURE_DEPTH:
|
case RENDERTEXTURE_DEPTH:
|
||||||
{
|
{
|
||||||
glDrawBuffer(GL_NONE);
|
GLenum drawBuffers[2] = {GL_DEPTH_ATTACHMENT,0};
|
||||||
|
glDrawBuffers(1, drawBuffers);
|
||||||
|
//glDrawBuffer(GL_NONE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ static const char* createShadowMapInstancingFragmentShader= \
|
|||||||
"layout(location = 0) out float fragmentdepth;\n"
|
"layout(location = 0) out float fragmentdepth;\n"
|
||||||
"void main(void)\n"
|
"void main(void)\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
" fragmentdepth = gl_FragCoord.z+0.0001*gl_FragCoord.x;\n"
|
" fragmentdepth = gl_FragCoord.z;\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
;
|
;
|
||||||
|
|||||||
Reference in New Issue
Block a user