Ios 什么';这是OpenGL ES 2.0中gl_TexCoord的对应项
我有一个OpenGL着色器,它使用gl_TexCoord,如下所示。但在OpenGL ES中,不支持gl_TexCoord。我想知道我能做些什么来重构代码,使其在OpenGL ES上工作Ios 什么';这是OpenGL ES 2.0中gl_TexCoord的对应项,ios,opengl-es,fragment-shader,Ios,Opengl Es,Fragment Shader,我有一个OpenGL着色器,它使用gl_TexCoord,如下所示。但在OpenGL ES中,不支持gl_TexCoord。我想知道我能做些什么来重构代码,使其在OpenGL ES上工作 void main() { //scene depth calculation float depth = linearize(texture2D(inputImageTexture2,gl_TexCoord[0].xy).x); if (depthblur) {
void main()
{
//scene depth calculation
float depth = linearize(texture2D(inputImageTexture2,gl_TexCoord[0].xy).x);
if (depthblur)
{
depth = linearize(bdepth(gl_TexCoord[0].xy));
}
...
}
没有。您可以使用从顶点着色器传递的用户定义的
变量
手动执行此操作。不管怎么说,这就是一切;片段着色器获得的逐顶点输出。得到了。此外,gl_TexCoord[0]和gl_TexCoord[3]之间的区别是什么?任何可以被引用的文章/文档都可以理解吗?@tom:这是一个数组。这就是大多数语言中[]
语法的含义。这是肯定的。我试图理解gl_TexCoord[0]和gl_TexCoord[3]的用途。在我继承的代码中,它引用了gl_TexCoord[0]和gl_TexCoord[3],但没有gl_TexCoord[1]和gl_TexCoord[2],所以我想知道为什么。有什么建议吗?@tom:因为它就是这样写的。你必须问着色器的原始作者为什么选择了这两个纹理坐标索引。你能把解决方案发布到某个地方吗?我正在尝试从Quartz Composer转到iOS,并尝试替换gl_TexCoord[0]。st