首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用GLSL texelFetch?

如何使用GLSL texelFetch?
EN

Computer Graphics用户
提问于 2018-06-03 16:09:25
回答 1查看 14K关注 0票数 9

我读过texelFetch的texelFetch文档,即:

gvec4 texelFetch(gsampler2D采样器,ivec2 P,int lod)。

我知道第一个论点“采样器”只是一个纹理。但我对第二次和第三次辩论感到非常困惑。

根据文档,第二个参数"P“是纹理坐标。但是它的类型是ivec2,这意味着它是整数的向量。纹理坐标不应该在0,1范围内吗?

对于第三个参数"lod",在文档中,它说“如果存在,指定纹理中的细节级别,从纹理中获取纹理。”我不知道如何提出这个论点..。

有人能解释一下这一点并给出一个如何使用texelFetch的实际例子吗?

谢谢!

EN

回答 1

Computer Graphics用户

回答已采纳

发布于 2018-06-04 16:53:46

好的,我已经解决了这个问题。

对于纹理坐标,有两种纹理坐标。一种是归一化纹理坐标,位于0,1范围内。另一个是texel空间,它位于[0,size)范围内,其中大小是纹理的大小。对于texelFetch(),使用了texel空间。

对于lod,它意味着mipmap中的详细级别。我们可以简单地使用0作为基本级别(原始大小)。

因此,使用texelFetch()的一个示例应该是:

代码语言:javascript
运行
复制
vec4 texelValue= texelFetch(texture2D, ivec2(gl_FragCoord.xy), 0);
票数 18
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/7687

复制
相关文章

相似问题

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