toRenderGL = !initRaytraceResources (theCView, aCtx) ||
!updateRaytraceGeometry (OpenGl_GUM_CHECK, theWorkspace->ActiveViewId(), aCtx);
- OpenGl_FrameBuffer* anOutputFBO = NULL;
+ toRenderGL |= !myIsRaytraceDataValid; // if no ray-trace data use OpenGL
- if (theWorkspace->ResultFBO()->IsValid())
+ if (!toRenderGL)
{
- anOutputFBO = theWorkspace->ResultFBO().operator->();
- }
- else if (theCView.ptrFBO != NULL)
- {
- anOutputFBO = (OpenGl_FrameBuffer* )theCView.ptrFBO;
- }
- else
- {
- //toRenderGL = Standard_True; // failed to get valid FBO
- }
+ OpenGl_FrameBuffer* anOutputFBO = NULL;
+
+ if (theWorkspace->ResultFBO()->IsValid())
+ {
+ anOutputFBO = theWorkspace->ResultFBO().operator->();
+ }
+ else if (theCView.ptrFBO != NULL)
+ {
+ anOutputFBO = (OpenGl_FrameBuffer* )theCView.ptrFBO;
+ }
- if (!toRenderGL && myIsRaytraceDataValid)
- {
const Standard_Integer aSizeX = anOutputFBO != NULL ?
anOutputFBO->GetVPSizeX() : theWorkspace->Width();
const Standard_Integer aSizeY = anOutputFBO != NULL ?