}
}
+static GLuint NoFrameBuffer = 0;
+static GLuint NoRenderBuffer = 0;
+
+GLuint OpenGl_Context::NO_FRAMEBUFFER()
+{
+ return NoFrameBuffer;
+}
+
+GLuint OpenGl_Context::NO_RENDERBUFFER()
+{
+ return NoRenderBuffer;
+}
+
+void OpenGl_Context::SET_NO_FRAMEBUFFER(GLuint val)
+{
+ NoFrameBuffer = val;
+}
+
+void OpenGl_Context::SET_NO_RENDERBUFFER(GLuint val)
+{
+ NoRenderBuffer = val;
+}
+
// =======================================================================
// function : OpenGl_Context
// purpose :
if (myReadBuffer < GL_COLOR_ATTACHMENT0
&& arbFBO != NULL)
{
- arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_FrameBuffer::NO_FRAMEBUFFER);
+ arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER()/*OpenGl_FrameBuffer::NO_FRAMEBUFFER*/);
}
::glReadBuffer (myReadBuffer);
#else
if (aDrawBuffer < GL_COLOR_ATTACHMENT0
&& arbFBO != NULL)
{
- arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_FrameBuffer::NO_FRAMEBUFFER);
+ arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER()/*OpenGl_FrameBuffer::NO_FRAMEBUFFER*/);
}
::glDrawBuffer (aDrawBuffer);
}
if (arbFBO != NULL && useDefaultFbo)
{
- arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_FrameBuffer::NO_FRAMEBUFFER);
+ arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER()/*OpenGl_FrameBuffer::NO_FRAMEBUFFER*/);
}
myFuncs->glDrawBuffers (theNb, (const GLenum*)theDrawBuffers);
myVPSizeY (0),
myNbSamples (0),
myDepthFormat (GL_DEPTH24_STENCIL8),
- myGlFBufferId (NO_FRAMEBUFFER),
- myGlColorRBufferId (NO_RENDERBUFFER),
- myGlDepthRBufferId (NO_RENDERBUFFER),
+ myGlFBufferId (OpenGl_Context::NO_FRAMEBUFFER()/*NO_FRAMEBUFFER*/),
+ myGlColorRBufferId (OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/),
+ myGlDepthRBufferId (OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/),
myIsOwnBuffer (false),
myIsOwnDepth (false),
myDepthStencilTexture (new OpenGl_Texture())
theGlContext->arbFBO->glGenRenderbuffers (1, &myGlDepthRBufferId);
theGlContext->arbFBO->glBindRenderbuffer (GL_RENDERBUFFER, myGlDepthRBufferId);
theGlContext->arbFBO->glRenderbufferStorage (GL_RENDERBUFFER, aDepthStencilFormat, aSizeX, aSizeY);
- theGlContext->arbFBO->glBindRenderbuffer (GL_RENDERBUFFER, NO_RENDERBUFFER);
+ theGlContext->arbFBO->glBindRenderbuffer (GL_RENDERBUFFER, OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/);
}
}
myDepthStencilTexture->GetTarget(), myDepthStencilTexture->TextureId(), 0);
}
}
- else if (myGlDepthRBufferId != NO_RENDERBUFFER)
+ else if (myGlDepthRBufferId != OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/)
{
if (hasDepthStencilAttach (theGlContext) && hasStencilRB)
{
const Standard_Integer aSizeY = theSizeY > 0 ? theSizeY : 2;
// Create the render-buffers
- if (theColorRBufferFromWindow != NO_RENDERBUFFER)
+ if (theColorRBufferFromWindow != OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/)
{
myGlColorRBufferId = theColorRBufferFromWindow;
}
theGlCtx->arbFBO->glGenRenderbuffers (1, &myGlDepthRBufferId);
theGlCtx->arbFBO->glBindRenderbuffer (GL_RENDERBUFFER, myGlDepthRBufferId);
theGlCtx->arbFBO->glRenderbufferStorage (GL_RENDERBUFFER, myDepthFormat, aSizeX, aSizeY);
- theGlCtx->arbFBO->glBindRenderbuffer (GL_RENDERBUFFER, NO_RENDERBUFFER);
+ theGlCtx->arbFBO->glBindRenderbuffer (GL_RENDERBUFFER, OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/);
}
// create FBO
theGlCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, myGlFBufferId);
theGlCtx->arbFBO->glFramebufferRenderbuffer (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
GL_RENDERBUFFER, myGlColorRBufferId);
- if (myGlDepthRBufferId != NO_RENDERBUFFER)
+ if (myGlDepthRBufferId != OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/)
{
if (hasDepthStencilAttach (theGlCtx) && hasStencilRB)
{
// clean up previous state
Release (theGlCtx.operator->());
- GLint anFbo = GLint(NO_FRAMEBUFFER);
+ GLint anFbo = GLint(OpenGl_Context::NO_FRAMEBUFFER()/*NO_FRAMEBUFFER*/);
::glGetIntegerv (GL_FRAMEBUFFER_BINDING, &anFbo);
- if (anFbo == GLint(NO_FRAMEBUFFER))
+ if (anFbo == GLint(OpenGl_Context::NO_FRAMEBUFFER()/*NO_FRAMEBUFFER*/))
{
return Standard_False;
}
}
// retrieve dimensions
- GLuint aRBuffer = myGlColorRBufferId != NO_RENDERBUFFER ? myGlColorRBufferId : myGlDepthRBufferId;
- if (aRBuffer != NO_RENDERBUFFER)
+ GLuint aRBuffer = myGlColorRBufferId != OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/ ? myGlColorRBufferId : myGlDepthRBufferId;
+ if (aRBuffer != OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/)
{
theGlCtx->arbFBO->glBindRenderbuffer (GL_RENDERBUFFER, aRBuffer);
theGlCtx->arbFBO->glGetRenderbufferParameteriv (GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &myVPSizeX);
theGlCtx->arbFBO->glGetRenderbufferParameteriv (GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &myVPSizeY);
- theGlCtx->arbFBO->glBindRenderbuffer (GL_RENDERBUFFER, NO_RENDERBUFFER);
+ theGlCtx->arbFBO->glBindRenderbuffer (GL_RENDERBUFFER, OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/);
}
- return aRBuffer != NO_RENDERBUFFER;
+ return aRBuffer != OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/;
}
// =======================================================================
&& myIsOwnBuffer)
{
theGlCtx->arbFBO->glDeleteFramebuffers (1, &myGlFBufferId);
- if (myGlColorRBufferId != NO_RENDERBUFFER)
+ if (myGlColorRBufferId != OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/)
{
theGlCtx->arbFBO->glDeleteRenderbuffers (1, &myGlColorRBufferId);
}
- if (myGlDepthRBufferId != NO_RENDERBUFFER)
+ if (myGlDepthRBufferId != OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/)
{
theGlCtx->arbFBO->glDeleteRenderbuffers (1, &myGlDepthRBufferId);
}
}
- myGlFBufferId = NO_FRAMEBUFFER;
- myGlColorRBufferId = NO_RENDERBUFFER;
- myGlDepthRBufferId = NO_RENDERBUFFER;
+ myGlFBufferId = OpenGl_Context::NO_FRAMEBUFFER()/*NO_FRAMEBUFFER*/;
+ myGlColorRBufferId = OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/;
+ myGlDepthRBufferId = OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/;
myIsOwnBuffer = false;
}
}
else
{
- theGlCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, NO_FRAMEBUFFER);
+ theGlCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER()/*NO_FRAMEBUFFER*/);
theGlCtx->SetFrameBufferSRGB (false);
}
}
{
aSize += myDepthStencilTexture->EstimatedDataSize();
}
- if (myGlColorRBufferId != NO_RENDERBUFFER
+ if (myGlColorRBufferId != OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/
&& !myColorFormats.IsEmpty())
{
aSize += OpenGl_Texture::PixelSizeOfPixelFormat (myColorFormats.First()) * myInitVPSizeX * myInitVPSizeY;
}
- if (myGlDepthRBufferId != NO_RENDERBUFFER)
+ if (myGlDepthRBufferId != OpenGl_Context::NO_RENDERBUFFER()/*NO_RENDERBUFFER*/)
{
aSize += OpenGl_Texture::PixelSizeOfPixelFormat (myDepthFormat) * myInitVPSizeX * myInitVPSizeY;
}
if (aCtx->arbFBO != NULL)
{
- aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_FrameBuffer::NO_FRAMEBUFFER);
+ aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER()/*OpenGl_FrameBuffer::NO_FRAMEBUFFER*/);
}
#if !defined(GL_ES_VERSION_2_0)
if (anImmFbos[0] == NULL)
if (aCtx->arbFBO != NULL)
{
- aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_FrameBuffer::NO_FRAMEBUFFER);
+ aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER()/*OpenGl_FrameBuffer::NO_FRAMEBUFFER*/);
}
#if !defined(GL_ES_VERSION_2_0)
if (anImmFbos[1] == NULL)
}
else
{
- aCtx->arbFBO->glBindFramebuffer (GL_DRAW_FRAMEBUFFER, 0);
+ aCtx->arbFBO->glBindFramebuffer (GL_DRAW_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER());
aCtx->SetFrameBufferSRGB (false);
}
}
else
{
- aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, 0);
+ aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER());
aCtx->SetFrameBufferSRGB (false);
}
#else
if (aCtx->arbFBO != NULL)
{
- aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_FrameBuffer::NO_FRAMEBUFFER);
+ aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER()/*OpenGl_FrameBuffer::NO_FRAMEBUFFER*/);
}
#endif
const Standard_Integer aViewport[4] = { 0, 0, myWindow->Width(), myWindow->Height() };
}
else
{
- aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_FrameBuffer::NO_FRAMEBUFFER);
+ aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER()/*OpenGl_FrameBuffer::NO_FRAMEBUFFER*/);
aCtx->SetFrameBufferSRGB (false);
}
const Standard_Integer aViewport[4] = { 0, 0, aDrawSizeX, aDrawSizeY };
{
aCopyMask |= GL_DEPTH_BUFFER_BIT;
}
- aCtx->arbFBO->glBindFramebuffer (GL_DRAW_FRAMEBUFFER, OpenGl_FrameBuffer::NO_FRAMEBUFFER);
+ aCtx->arbFBO->glBindFramebuffer (GL_DRAW_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER()/*OpenGl_FrameBuffer::NO_FRAMEBUFFER*/);
aCtx->SetFrameBufferSRGB (false);
}
}
else
{
- aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_FrameBuffer::NO_FRAMEBUFFER);
+ aCtx->arbFBO->glBindFramebuffer (GL_FRAMEBUFFER, OpenGl_Context::NO_FRAMEBUFFER()/*OpenGl_FrameBuffer::NO_FRAMEBUFFER*/);
aCtx->SetFrameBufferSRGB (false);
}
}