Как нарисовать данные пикселей, взятые из буфера, обратно в себя? - PullRequest
1 голос
/ 13 октября 2009

Я работаю над мобильным приложением для 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();

Обратите внимание, что приведенный выше код - это то, что я подобрал по пути, и я думаю, что это план того, что я должен делать. не стесняйтесь снимать меня с этого трека. :)

Я благодарю вас за ваше время.

1 Ответ

1 голос
/ 14 октября 2009

Сначала необходимо убедиться, что версия OpenGL-ES для Series60 5-го издания может обрабатывать текстуры, высота и ширина которых не имеют степеней 2.

Я бы посоветовал forum nokia для такого рода запросов.

Бесстыдная вилка:

Быстрые рецепты на Symbian OS содержит целую главу, объясняющую основы OpenGL-ES на Symbian OS. Примеры 3D-кода здесь .

...