bool osgSDLViewer::renderOneFrame(void) { // Lock surface if needed if ( SDL_MUSTLOCK( mScreen ) ) if ( SDL_LockSurface( mScreen ) < 0 ) return false; //Clear the color and depth buffers. glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); // Frame started if (!frameStarted()) return false; // Update Scene update(); redraw(); // Frame ended if (!frameEnded()) return false; // Unlock if needed if ( SDL_MUSTLOCK( mScreen ) ) SDL_UnlockSurface( mScreen ); // Swap Buffers SDL_GL_SwapBuffers(); return true; }
int ShaderEditor::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QMainWindow::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: frameStarted(); break; case 1: Tick(); break; default: ; } _id -= 2; } return _id; }