Create a new class named CubeGLScene and derive it from AbstractGLScene. Implement the constructor to forward its argument to the base class constructor. Add a method to store a QImage object in the scene that will contain texture data for the cube. Add a QOpenGLTexture pointer member as well, which will contain the texture, initialize it to nullptr in the constructor, and delete it in the destructor. Let's call the m_textureImage image object and the m_texture texture. Now add a protected initializeTexture() method and fill it with the following code:
void CubeGLScene::initializeTexture() { m_texture = new QOpenGLTexture(m_textureImage.mirrored()); m_texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear); ...