frag着色器中的OpenGL颜色索引?

frag着色器中的OpenGL颜色索引?,opengl,textures,Opengl,Textures,我有一个大的精灵库,我想削减GPU内存需求。我可以在gpu上以每像素仅1字节的速度存储纹理,并在片段着色器中使用它进行RGB颜色查找吗?我看到关于GL_R8使用的报告相互矛盾。我想说,这实际上取决于您的硬件是否支持该纹理格式。使用A8R8G8B8纹理跳过整个问题如何?它将被压缩,即使用位掩码(或glsl中的r/g/b/a成员)读取“子像素”值。就像第一个像素存储在alpha通道中一样,第二个像素存储在红色通道中,第三个像素存储在绿色通道中,等等 您甚至可以使用它在单个图像中存储多达4层(剪切最大

我有一个大的精灵库,我想削减GPU内存需求。我可以在gpu上以每像素仅1字节的速度存储纹理,并在片段着色器中使用它进行RGB颜色查找吗?我看到关于GL_R8使用的报告相互矛盾。

我想说,这实际上取决于您的硬件是否支持该纹理格式。使用
A8R8G8B8
纹理跳过整个问题如何?它将被压缩,即使用位掩码(或glsl中的r/g/b/a成员)读取“子像素”值。就像第一个像素存储在alpha通道中一样,第二个像素存储在红色通道中,第三个像素存储在绿色通道中,等等


您甚至可以使用它在单个图像中存储多达4层(剪切最大纹理宽度/高度);只挑选一个应该不是问题。

我想说,这实际上取决于您的硬件是否支持该纹理格式。使用
A8R8G8B8
纹理跳过整个问题如何?它将被压缩,即使用位掩码(或glsl中的r/g/b/a成员)读取“子像素”值。就像第一个像素存储在alpha通道中一样,第二个像素存储在红色通道中,第三个像素存储在绿色通道中,等等


您甚至可以使用它在单个图像中存储多达4层(剪切最大纹理宽度/高度);只选一个不应该是问题。

我是在教条,不是吗!我是在教条,不是吗!