Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пересоздание текстуры большего размера
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
chereppiter
Как правильно пересоздать текстуру с увеличением её размера? Например, я сначала создаю текстуру так:

    GLuint textureId;
    glGenTextures(1, &textureId);
    glBindTexture(GL_TEXTURE_2D, textureId);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
    glTexImage2D( GL_TEXTURE_2D,
                  0,
                  GL_RGBA8,
                  256,
                  256,
                  0,
                  GL_BGR_EXT,
                  GL_UNSIGNED_BYTE,
                  pPixels );



Всё нормально работает. Через некоторое время мне становится необходима текстура большего размера. Пытаюсь пересоздать текстуру:

glTexImage2D( GL_TEXTURE_2D,
                  0,
                  GL_RGBA8,
                  512,
                  512,
                  0,
                  GL_BGR_EXT,
                  GL_UNSIGNED_BYTE,
                  pPixels );


На этом вызове падение. Если pPixels == NULL, то glTexImage2D отработает, но упадёт в glTexSubImage2D (т.е. падает при копировании пикселей на текстуру).
Если, наоборот, уменьшать размер текстуры, то всё нормально.
chereppiter
Вопрос снят с повестки: проблема оказалась совсем в другом :blush:
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.