void TriangleMeshViewerDisplay::initializeGL() { if (_verbose) { std::cerr << "Double buffering " << (doubleBuffer() ? "ON" : "OFF") << "\n"; std::cerr << "Auto Buffer Swap " << (autoBufferSwap() ? "ON" : "OFF") << "\n"; std::cerr << "Multisampling " << (format().sampleBuffers() ? "ON" : "OFF") << "\n"; } const FloatRGBA bg=background_colour(); glClearColor(bg.r,bg.g,bg.b,1.0f); // Switch depth-buffering on glEnable(GL_DEPTH_TEST); // Basic lighting stuff (set ambient globally rather than in light) GLfloat black_light[]={0.0,0.0,0.0,1.0}; glLightfv(GL_LIGHT0,GL_AMBIENT,black_light); glLightfv(GL_LIGHT0,GL_SPECULAR,black_light); glEnable(GL_LIGHT0); glEnable(GL_LIGHTING); // Do smooth shading 'cos colours are specified at vertices glShadeModel(GL_SMOOTH); // Use arrays of data glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_COLOR_ARRAY); glEnableClientState(GL_NORMAL_ARRAY); }
bool DhQGLWidget::DvhautoBufferSwap() const { return autoBufferSwap(); }