我正在尝试在 GLSL 中绘制一些深度图之王,为此我至少需要一个 10 位通道。我决定使用 GL_R16 或 GL_RGBA12 - 它们是最接近的,并且 GL_R16 将花费更少的 gpu 内存(因为它会......对吗?)。
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA12, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, 0);
问题来了:如何让 GLSL 正确使用它?Sampler2D 将其转换为经典的 8 位 RGBA ......那么钳位呢?在 GLSL 中,每个组件颜色都被标准化为 [0,1] - 16 位是否相同?我只想知道如何使用它。