【发布时间】:2019-04-23 01:17:46
【问题描述】:
WebGL 的GLSL 具有sampler2D、isampler2D 和usampler2D,用于从着色器中的纹理读取float、int 和unsigned int。在WebGL1/2 中创建纹理时,我们指定纹理InternalFormat、Format 和Type。根据OpenGL Sampler Wiki Page,对给定纹理使用类型不兼容的采样器可能会导致未定义的值。
是否有一个简单的规则来确定如何将纹理的 InternalFormat、Format 和 Type 最终映射到正确的 GLSL 采样器类型?
(不失一般性,我专注于?sampler2D,当然也有 3D、Cube 等纹理,我假设它们遵循完全相同的规则)
【问题讨论】: