void MainView::initializeGL() { //////////////// PLUG IN SCENE HERE ///////////////// // scene = new SceneMultiTex(); scene = new SceneNormalMap(); //////////////////////////////////////////////////// glewExperimental = GL_TRUE; GLenum err = glewInit(); if( GLEW_OK != err ) { cout <<"Error initializing GLEW: " << glewGetErrorString(err) << endl; } else { cout << "Using GLEW: " << glewGetString(GLEW_VERSION) << endl; } GLUtils::checkForOpenGLError(__FILE__,__LINE__); QGLFormat format = this->format(); printf("QGLFormat reports profile: "); if( format.profile() == QGLFormat::CompatibilityProfile ) printf("compatability.\n"); else if( format.profile() == QGLFormat::CoreProfile ) printf("core.\n"); else printf("none.\n"); GLUtils::dumpGLInfo(); glClearColor(0.5f,0.5f,0.5f,1.0f); scene->initScene(); }
GLFormat::GLFormat(const QGLFormat & format) : m_majorVersion(format.majorVersion()) , m_minorVersion(format.minorVersion()) , m_redBufferSize (format.redBufferSize()) , m_greenBufferSize(format.greenBufferSize()) , m_blueBufferSize (format.blueBufferSize()) , m_alphaBufferSize(format.alpha() ? format.alphaBufferSize() : 0) , m_depthBufferSize (format.depth() ? format.depthBufferSize() : 0) , m_stencilBufferSize(format.stencil() ? format.stencilBufferSize() : 0) , m_doubleBuffer(format.doubleBuffer()) , m_stereo(format.stereo()) , m_sampleBuffers(format.sampleBuffers()) , m_samples(format.samples()) , m_swapInterval(format.swapInterval()) { switch(format.profile()) { default: case QGLFormat::NoProfile: m_profile = NoProfile; break; case QGLFormat::CoreProfile: m_profile = CoreProfile; break; case QGLFormat::CompatibilityProfile: m_profile = CompatibilityProfile; break; }; }
/*! Returns a window format for the OpenGL format specified by \a format. */ QSurfaceFormat QGLFormat::toSurfaceFormat(const QGLFormat &format) { QSurfaceFormat retFormat; if (format.alpha()) retFormat.setAlphaBufferSize(format.alphaBufferSize() == -1 ? 1 : format.alphaBufferSize()); if (format.blueBufferSize() >= 0) retFormat.setBlueBufferSize(format.blueBufferSize()); if (format.greenBufferSize() >= 0) retFormat.setGreenBufferSize(format.greenBufferSize()); if (format.redBufferSize() >= 0) retFormat.setRedBufferSize(format.redBufferSize()); if (format.depth()) retFormat.setDepthBufferSize(format.depthBufferSize() == -1 ? 1 : format.depthBufferSize()); retFormat.setSwapBehavior(format.doubleBuffer() ? QSurfaceFormat::DoubleBuffer : QSurfaceFormat::DefaultSwapBehavior); if (format.sampleBuffers()) retFormat.setSamples(format.samples() == -1 ? 4 : format.samples()); if (format.stencil()) retFormat.setStencilBufferSize(format.stencilBufferSize() == -1 ? 1 : format.stencilBufferSize()); retFormat.setStereo(format.stereo()); retFormat.setMajorVersion(format.majorVersion()); retFormat.setMinorVersion(format.minorVersion()); retFormat.setProfile(static_cast<QSurfaceFormat::OpenGLContextProfile>(format.profile())); return retFormat; }