void Win32OpenGLWindow::startRendering() { pumpMessage(); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); //glCullFace(GL_BACK); //glFrontFace(GL_CCW); glEnable(GL_DEPTH_TEST); }
void LinuxNetworkEventListener::workerProc() { while (!Thread::canFinish()) { try { PollBase::Result res; PollBase::WaitStatus wt = fdSelect.wait(nil, res); if (wt == PollBase::waitWakeUp) { while (pumpMessage()); } else { AutoArray<std::pair<ISleepingObject *, natural>,SmallAlloc<32> > tocall; SysTime tm = SysTime::now(); FdData *listeners = reinterpret_cast<FdData *>(res.userData); for (ListenerMap::Iterator iter = listeners->listeners.getFwIter(); iter.hasItems();) { const FdListener &l = iter.peek(); if (res.flags & l.waitMask) { tocall.add(std::make_pair(l.notify,res.flags & l.waitMask)); listeners->listeners.erase(iter); // l.notify->wakeUp(con.waitMask & l.waitMask); } else if (l.waitTimeout.expired(tm)) { tocall.add(std::make_pair(l.notify,0)); listeners->listeners.erase(iter); // l.notify->wakeUp(0); } else { iter.skip(); } } updateFdData(listeners,res.fd); for (natural i = 0; i < tocall.length(); i++) { tocall[i].first->wakeUp(tocall[i].second); } } } catch (const Exception &e) { AppBase::current().onThreadException(e); } catch (const std::exception &e) { AppBase::current().onThreadException(StdException(THISLOCATION,e)); } catch (...) { AppBase::current().onThreadException(UnknownException(THISLOCATION)); } } fdSelect.cancelAll(CleanUpProc(this)); /* fdSelect.dropAll(); while (fdSelect.hasItems()) { const LinuxFdSelect::FdInfo &con = fdSelect.getNext(); FdData *listeners = reinterpret_cast<FdData *>(con.data); if (listeners) delete listeners; fdSelect.unset(con.fd); } */ }
void Win32OpenGLWindow::startRendering() { pumpMessage(); //don't clear all 3 buffers because some AMD drivers are buggy //glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //glCullFace(GL_BACK); //glFrontFace(GL_CCW); glEnable(GL_DEPTH_TEST); }
void X11OpenGLWindow::startRendering() { pumpMessage(); MyXGetWindowAttributes(m_data->m_dpy, m_data->m_win, &m_data->m_gwa); glViewport(0, 0, m_data->m_gwa.width, m_data->m_gwa.height); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); //clear buffers //glCullFace(GL_BACK); //glFrontFace(GL_CCW); glEnable(GL_DEPTH_TEST); }
void Win32OpenGLWindow::startRendering() { pumpMessage(); //glClearColor(1.f,0.f,0.f,1.f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); //clear buffers //glCullFace(GL_BACK); //glFrontFace(GL_CCW); glEnable(GL_DEPTH_TEST); float aspect; //btVector3 extents; if (m_data->m_width > m_data->m_height) { aspect = (float)m_data->m_width / (float)m_data->m_height; //extents.setValue(aspect * 1.0f, 1.0f,0); } else { aspect = (float)m_data->m_height / (float)m_data->m_width; //extents.setValue(1.0f, aspect*1.f,0); } glMatrixMode(GL_PROJECTION); glLoadIdentity(); if (m_data->m_width > m_data->m_height) { glFrustum (-aspect, aspect, -1.0, 1.0, 1.0, 10000.0); } else { glFrustum (-1.0, 1.0, -aspect, aspect, 1.0, 10000.0); } glMatrixMode(GL_MODELVIEW); glLoadIdentity(); }
void Win32Window::startRendering() { pumpMessage(); }