作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我试过:
#version 130
uniform sampler2D texID;
in vec2 texcoord;
out vec4 outcolor;
void main(void) {
vec2 tcoord=texcoord.xy*768.0;
ivec2 tst=ivec2(tcoord.x,tcoord.y);
outcolor=texelFetch(texID,tcoord);
}
在 texelFetch
的行上出现错误:
无法找到兼容的重载函数“texelFetch(sampler2D, vec2)”。
我没有把这些参数从我的头脑中放在这里几个来源:
问题:有没有办法将 GL_TEXTURE_2D
与 texelFetch
一起使用,或者在执行着色器时直接从纹理读取像素?
最佳答案
检查 1.30 spec , 第 89 页。
None 五个 texelFetch()
重载有两个参数:
gvec4 texelFetch (gsampler1D sampler, int P, int lod)
gvec4 texelFetch (gsampler2D sampler, ivec2 P, int lod)
gvec4 texelFetch (gsampler3D sampler, ivec3 P, int lod)
gvec4 texelFetch (gsampler1DArray sampler, ivec2 P, int lod)
gvec4 texelFetch (gsampler2DArray sampler, ivec3 P, int lod)
你需要第三个参数。
关于c++ - 如何将 texelFetch 与 GL_TEXTURE_2D 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13812454/
我是一名优秀的程序员,十分优秀!