Я работаю над мобильным приложением для Symbian 5th edition, используя OpenGLES .
Это стандартное 2D-приложение, и я не использую DepthBuffer.
Мне нужно сделать снимок экрана и затем отрисовать тот же моментальный снимок обратно в буфер.
Я использую glReadPixels((GLint)0, (GLint)0,
(GLint)nWidth-1, (GLint)nHeight-1,
GL_RGB, GL_UNSIGNED_BYTE, m_pPixelData)
для того, чтобы получить нужные мне данные пикселей, но я довольно новичок в OpenGLES и не знаю, как отрисовать данные обратно в буфер. (в OpenGL легко использовать DrawPixels ..)
Я читал, что должен генерировать текстуру из данных, так что я сделал.
Но теперь я не уверен, как нарисовать эту текстуру.
Нужно ли рисовать его как текстуру прямоугольного элемента? если да, то как мне определить этот прямоугольник? (координаты просто не имеют смысла для меня ..)
Размер дисплея 480x640, и вот код, который я хочу использовать для рисования прямоугольника:
glEnable(GL_TEXTURE_2D);
//displayTex is my texture built out of the pixel data
glBindTexture(GL_TEXTURE_2D, m_pESSharedData->displayTex);
//Bottom
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-2.5f, -2.5f, 2.5f);
glTexCoord2f(1.0f, 0.0f);
glVertex3f(2.5f, -2.5f, 2.5f);
glTexCoord2f(1.0f, 1.0f);
glVertex3f(2.5f, -2.5f, -2.5f);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-2.5f, -2.5f, -2.5f);
glEnd();
Обратите внимание, что приведенный выше код - это то, что я подобрал по пути, и я думаю, что это план того, что я должен делать. не стесняйтесь снимать меня с этого трека. :)
Я благодарю вас за ваше время.