Я загружаю шрифт из текстуры TGA. Я генерирую MIP-карту, используя функцию gluBuild2DMipmaps()
.
Когда шрифт имеет определенный размер, это выглядит очень хорошо. Но когда он становится меньше, он становится все темнее и темнее всякий раз, когда достигает нового уровня MIP-карты.
Вот как я создаю текстуру:
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
, чтобы в основном игнорировать MIP-карты (например, используя GL_LINEAR
), это будет выглядеть так:
Я пробовал разные параметры фильтра, а также пытался использовать glGenerateMipmap()
вместо gluBuild2DMipmaps()
, но всегда получал один и тот же результат.
Что не так с кодом?
glGenerateMipmap()
сделает это за вас. - person genpfault   schedule 14.12.2018