【发布时间】:2014-12-25 20:12:11
【问题描述】:
我正在寻找使用现代 OpenGL 逐像素渲染简单图像的最佳方式(如“最自然”或“最有效”)。
由于我不想要 mip 映射,因此我将矩形纹理作为 - 正如我所推测的那样 - 这个任务的自然选择。
我很惊讶glCompileShader() 拒绝接受我在片段着色器中对texture2DRect() 的调用,除非我启用扩展GL_ARB_TEXTURE_RECTANGLE。
我没想到会这样,因为我使用的是现代 OpenGL(我指定 #version 430),而 https://www.khronos.org/files/opengl44-quick-reference-card.pdf 的 OpenGL 参考表没有提到需要扩展。
为了增加混乱,着色器编译器接受我的统一声明 uniform sampler2DRect sampler; 甚至没有警告。
这是我的 OpenGL 驱动程序中的错误吗? (我在 Windows 8.1 和 GeForce GTX 760 上运行版本 340.52 的 NVidia 驱动程序)。
【问题讨论】: