我正在从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()
这使文本看起来像这样(应该为白色):
几乎看不见。
如果我将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
),则看起来像这样:
我尝试了不同的过滤器选项,还尝试使用GL_LINEAR
而不是glGenerateMipmap()
,但是我总是得到相同的结果。
代码有什么问题?