当格式GL_RGB5_A1与unsigned_byte纹理数据(无mipmap)一起使用时,应用的纹理是块状的,其中min / mag过滤器为GL_NEAREST。 当用于格式GL_RGBA8的相同代码时,应用的纹理是平滑的。我的假设是对于RGBA8也使用GL_NEAREST滤镜,纹理图像应该是附着的块状。 OPGNELES 3.0支持这种格式和纹理类型。 它是使用glTexImage3D应用的尺寸为256x256x256的3D纹理,视口设置为640x480。 纹理生成如下
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;
}
预期吗?
答案 0 :(得分:2)
按预期工作。 nearest
只从最近的texel纹理中获取一个样本。 RGB8纹素(在一个方向上)之间的差异是1/256 - 这在视觉上几乎是不可分割的。但是,对于RGB5,每种颜色只分配5位,因此差值为1/32。