Я загружаю шрифт из текстуры 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);
}
Это делает текст таким (он должен быть белым):
едва видимый.
Если я изменю GL_TEXTURE_MIN_FILTER
, чтобы в основном игнорировать мипмапы (используя GL_LINEAR
например), это выглядит так:
Я пробовал разные варианты фильтров, а также пытался использовать glGenerateMipmap()
вместо gluBuild2DMipmaps()
, но я всегда получаю один и тот же результат.
Что не так с кодом?