OpenGL: создание растрового изображения для растрового шрифта делает его темнее при уменьшении - PullRequest
0 голосов
/ 14 декабря 2018

Я загружаю шрифт из текстуры TGA.Я генерирую mipmap с помощью функции gluBuild2DMipmaps().

Когда шрифт имеет определенный размер, он выглядит очень хорошо.Но когда он становится меньше, он становится темнее и темнее, когда достигает нового уровня mipmap.

Вот как я создаю текстуру:

void TgaLoader::bindTexture(unsigned int* texture)
{
    tImageTGA *pBitMap = m_tgaImage;

    if(pBitMap == 0)
    {
        return;
    }

    glGenTextures(1, texture);
    glBindTexture(GL_TEXTURE_2D, *texture);

    gluBuild2DMipmaps(GL_TEXTURE_2D,
                        pBitMap->channels,
                        pBitMap->size_x,
                        pBitMap->size_y,
                        textureType,
                        GL_UNSIGNED_BYTE,
                        pBitMap->data);


    glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);
    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
}   

Это делает текст таким (он должен быть белым):

enter image description here

едва видимый.

Если я изменю GL_TEXTURE_MIN_FILTER, чтобы в основном игнорировать мипмапы (используя GL_LINEAR например), это выглядит так:

enter image description here

Я пробовал разные варианты фильтров, а также пытался использовать glGenerateMipmap() вместо gluBuild2DMipmaps(), но я всегда получаю один и тот же результат.

Что не так с кодом?

...