OpenGL:位图字体的mipmap生成在缩小时使其更暗

时间:2018-12-14 14:45:47

标签: opengl fonts rendering mipmaps

我正在从TGA纹理加载字体。我使用var_dump(array_search(0, $array, true)); var_dump(array_search(1, $array, true)); var_dump(array_search(154, $array, true)); var_dump(array_search(154.99, $array, true)); var_dump(array_search(null, $array, true)); var_dump(array_search('something', $array, true)); 函数生成了mipmap。

当字体具有特定大小时,它看起来非常好。但是,当它变得更小时,只要达到新的mipmap级别,它就会变得越来越暗。

这是我创建纹理的方式:

gluBuild2DMipmaps()

这使文本看起来像这样(应该为白色):

enter image description here

几乎看不见。

如果我将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); } 更改为基本上忽略mipmap(例如使用GL_TEXTURE_MIN_FILTER),则看起来像这样:

enter image description here

我尝试了不同的过滤器选项,还尝试使用GL_LINEAR而不是glGenerateMipmap(),但是我总是得到相同的结果。

代码有什么问题?

0 个答案:

没有答案