首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARB程序集到GLSL

ARB程序集到GLSL
EN

Stack Overflow用户
提问于 2017-06-19 23:03:51
回答 1查看 363关注 0票数 0

我有一个使用ARB Assembly着色器的NVidia示例:

代码语言:javascript
复制
!!ARBfp1.0
TEX result.color, fragment.texcoord, texture[0], RECT;
END

现在,我想将其转换为GLSL着色器。这就是我想出来的:

代码语言:javascript
复制
uniform sampler2D tex;

void main(void)
{
  vec4 col = texture2D ( tex, gl_TexCoord[0] );
  gl_FragColor = vec4(col.r, col.g, col.b, col.a);
}

我希望在生成的渲染中不会看到任何变化,但遗憾的是我只得到了一个黑色的纹理。

我已经确保tex采样器设置正确。同样,我的GLSL代码编译时也没有错误。为了调试,我试着让我的着色器更简单:

代码语言:javascript
复制
void main(void)
{
  gl_FragColor = vec4(1,0,0,1);
}

这给了我一个红色的纹理。因此,我的基本设置似乎是可以的。

EN

回答 1

Stack Overflow用户

发布于 2017-06-20 19:43:38

注意TEX的第四个参数。它显示为RECT,因此采样器需要具有sampler2DRect类型。

代码语言:javascript
复制
uniform sampler2DRect tex;

void main(void) {
  gl_FragColor = texture2DRect(tex, gl_TexCoord[0]);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44634002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档