对于格式为GL_RGBA8且无符号字节和最小值/最小值滤波器GL_NEAREST的纹理,预计会出现块效应?
问题描述:
格式GL_RGB5_A1与unsigned_byte纹理数据(无mipmap)一起使用时,应用的纹理在最小/最大滤波器GL_NEAREST下呈块状。 当用于GL_RGBA8格式的相同代码时,应用的纹理平滑。我的假设是,对于RGBA8也使用GL_NEAREST滤镜,贴图应该是块状的。 OPGNELES 3.0支持这种格式和类型的纹理。 其使用glTexImage3D和视口应用的尺寸为256x256x256的3D纹理设置为640x480。 质地如下对于格式为GL_RGBA8且无符号字节和最小值/最小值滤波器GL_NEAREST的纹理,预计会出现块效应?
for(k = 0; k < 256; k++) for(j = 0; j < 256; j++) for(i = 0; i < 256; i++)
{
pUBPointer[0] = 255-i;
pUBPointer[1] = 255-j;
pUBPointer[2] = 255-k;
pUBPointer[3] = 0xFF;
pUBPointer += 4;
}
产生的,它预计?
- 图片为格式RGB5_A1
- 图片为格式RGBA8
答
按预期工作。 nearest
仅从最近纹理元素的纹理中获取一个样本。 RGB8纹素之间的区别(在一个方向上)是1/256 - 这在视觉上几乎不会被破坏。但是,对于RGB5,每种颜色只分配5位,因此不同是1/32。
是的,你的解释是有道理的。谢谢 – user1896853