Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Наложение текстуры QGLWidget
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
ibnz
Тыкните носом нубку, плз, где косяк с текстурированием?
Рисует токмо желтый квадрат.
void GLWidget::initializeGL()
{
    quint8 texData[16][16];
    qsrand(100);
    for (int i = 0; i < 16; ++i) {
        for (int j = 0; j < 16; ++j) {
            texData[i][j] = qRound(qrand()*255.0/RAND_MAX);
        }
    }
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glEnable(GL_TEXTURE_2D);
//    GLuint m_texture;
    glGenTextures(1, &m_texture);
    glBindTexture(GL_TEXTURE_2D, m_texture);
    glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, 16, 16, 0, GL_ALPHA, GL_UNSIGNED_BYTE, texData);
}


void GLWidget::paintGL()
{
    glLoadIdentity();
    glColor3f(1.0, 1.0, 0.0);
    glBindTexture(GL_TEXTURE_2D, m_texture);
    glBegin(GL_QUADS);
       glTexCoord2f(0.0,0.0);glVertex2f(0.0,0.0);
       glTexCoord2f(1.0,0.0);glVertex2f(1.0,0.0);
       glTexCoord2f(1.0,1.0);glVertex2f(1.0,1.0);
       glTexCoord2f(0.0,1.0);glVertex2f(0.0,1.0);
    glEnd();
}
ibnz
методом научного тыка было найдено решение:
glTexImage2D(GL_TEXTURE_2D, 0, 1, 16, 16, 0, GL_RED, GL_UNSIGNED_BYTE, texData);


Причем именно GL_RED. ни GL_GREEN ни GL_BLUE не дают нужного результата.
Пока не разобрался как и почему так...
Алексей1153
Цитата(ibnz @ 18.9.2013, 19:41) *
Пока не разобрался как и почему так


видимо, поэтому :)

http://www.opengl.org/sdk/docs/man/xhtml/glTexImage2D.xml

Цитата
format
Specifies the format of the pixel data. The following symbolic values are accepted: GL_RED, GL_RG, GL_RGB, GL_BGR, GL_RGBA, GL_BGRA, GL_RED_INTEGER, GL_RG_INTEGER, GL_RGB_INTEGER, GL_BGR_INTEGER, GL_RGBA_INTEGER, GL_BGRA_INTEGER, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_DEPTH_STENCIL.


Цитата
GL_RED
Each element is a single red component. The GL converts it to floating point and assembles it into an RGBA element by attaching 0 for green and blue, and 1 for alpha. Each component is clamped to the range [0,1].
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.