- Fixed problem with a wrong type of GL_DEPTH_COMPONENT on MacOSX.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4326 dfc29bdd-3216-0410-991c-e03cc46cb475master
parent
b5539bdfe6
commit
40933b9ef6
|
@ -4707,6 +4707,27 @@ GLenum COpenGLDriver::getGLBlend(E_BLEND_FACTOR factor) const
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GLenum COpenGLDriver::getZBufferBits() const
|
||||||
|
{
|
||||||
|
GLenum bits = 0;
|
||||||
|
switch (Params.ZBufferBits)
|
||||||
|
{
|
||||||
|
case 16:
|
||||||
|
bits = GL_DEPTH_COMPONENT16;
|
||||||
|
break;
|
||||||
|
case 24:
|
||||||
|
bits = GL_DEPTH_COMPONENT24;
|
||||||
|
break;
|
||||||
|
case 32:
|
||||||
|
bits = GL_DEPTH_COMPONENT32;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
bits = GL_DEPTH_COMPONENT;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return bits;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef _IRR_COMPILE_WITH_CG_
|
#ifdef _IRR_COMPILE_WITH_CG_
|
||||||
const CGcontext& COpenGLDriver::getCgContext()
|
const CGcontext& COpenGLDriver::getCgContext()
|
||||||
{
|
{
|
||||||
|
|
|
@ -402,6 +402,9 @@ namespace video
|
||||||
//! Convert E_BLEND_FACTOR to OpenGL equivalent
|
//! Convert E_BLEND_FACTOR to OpenGL equivalent
|
||||||
GLenum getGLBlend(E_BLEND_FACTOR factor) const;
|
GLenum getGLBlend(E_BLEND_FACTOR factor) const;
|
||||||
|
|
||||||
|
//! Get ZBuffer bits.
|
||||||
|
GLenum getZBufferBits() const;
|
||||||
|
|
||||||
//! Get Cg context
|
//! Get Cg context
|
||||||
#ifdef _IRR_COMPILE_WITH_CG_
|
#ifdef _IRR_COMPILE_WITH_CG_
|
||||||
const CGcontext& getCgContext();
|
const CGcontext& getCgContext();
|
||||||
|
|
|
@ -797,7 +797,7 @@ COpenGLFBODepthTexture::COpenGLFBODepthTexture(
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
// generate depth texture
|
// generate depth texture
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, ImageSize.Width,
|
glTexImage2D(GL_TEXTURE_2D, 0, Driver->getZBufferBits(), ImageSize.Width,
|
||||||
ImageSize.Height, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, 0);
|
ImageSize.Height, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, 0);
|
||||||
|
|
||||||
// generate stencil texture
|
// generate stencil texture
|
||||||
|
@ -817,7 +817,7 @@ COpenGLFBODepthTexture::COpenGLFBODepthTexture(
|
||||||
Driver->extGlGenRenderbuffers(1, &DepthRenderBuffer);
|
Driver->extGlGenRenderbuffers(1, &DepthRenderBuffer);
|
||||||
Driver->extGlBindRenderbuffer(GL_RENDERBUFFER_EXT, DepthRenderBuffer);
|
Driver->extGlBindRenderbuffer(GL_RENDERBUFFER_EXT, DepthRenderBuffer);
|
||||||
Driver->extGlRenderbufferStorage(GL_RENDERBUFFER_EXT,
|
Driver->extGlRenderbufferStorage(GL_RENDERBUFFER_EXT,
|
||||||
GL_DEPTH_COMPONENT, ImageSize.Width,
|
Driver->getZBufferBits(), ImageSize.Width,
|
||||||
ImageSize.Height);
|
ImageSize.Height);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue