mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-06-30 12:14:08 +03:00
0030931: Visualization, TKOpenGl - do not render into GL_FRONT within "GDI Generic" renderer
OpenGl_Workspace now disables at initialization time OpenGl_View::SetImmediateModeDrawToFront() property in case of "GDI Generic" OpenGL implementation. OpenGl_View::redrawImmediate() - fixed no buffer swap in case of myTransientDrawToFront without offscreen FBO.
This commit is contained in:
parent
59ee34efc0
commit
1202160b57
@ -817,7 +817,7 @@ bool OpenGl_View::redrawImmediate (const Graphic3d_Camera::Projection theProject
|
|||||||
OpenGl_FrameBuffer* theOitAccumFbo,
|
OpenGl_FrameBuffer* theOitAccumFbo,
|
||||||
const Standard_Boolean theIsPartialUpdate)
|
const Standard_Boolean theIsPartialUpdate)
|
||||||
{
|
{
|
||||||
Handle(OpenGl_Context) aCtx = myWorkspace->GetGlContext();
|
const Handle(OpenGl_Context)& aCtx = myWorkspace->GetGlContext();
|
||||||
GLboolean toCopyBackToFront = GL_FALSE;
|
GLboolean toCopyBackToFront = GL_FALSE;
|
||||||
if (theDrawFbo == theReadFbo
|
if (theDrawFbo == theReadFbo
|
||||||
&& theDrawFbo != NULL)
|
&& theDrawFbo != NULL)
|
||||||
@ -855,6 +855,7 @@ bool OpenGl_View::redrawImmediate (const Graphic3d_Camera::Projection theProject
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
toCopyBackToFront = GL_FALSE;
|
||||||
myBackBufferRestored = Standard_False;
|
myBackBufferRestored = Standard_False;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -146,6 +146,12 @@ OpenGl_Workspace::OpenGl_Workspace (OpenGl_View* theView, const Handle(OpenGl_Wi
|
|||||||
|
|
||||||
glHint (GL_LINE_SMOOTH_HINT, GL_FASTEST);
|
glHint (GL_LINE_SMOOTH_HINT, GL_FASTEST);
|
||||||
glHint (GL_POLYGON_SMOOTH_HINT, GL_FASTEST);
|
glHint (GL_POLYGON_SMOOTH_HINT, GL_FASTEST);
|
||||||
|
if (myGlContext->Vendor() == "microsoft corporation"
|
||||||
|
&& !myGlContext->IsGlGreaterEqual (1, 2))
|
||||||
|
{
|
||||||
|
// this software implementation causes too slow rendering into GL_FRONT on modern Windows
|
||||||
|
theView->SetImmediateModeDrawToFront (false);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user