[咬文嚼字] OpenGL ES 2.0 Prgramming Guide 中一处英文的理解

2014-10-03 20:17:11 +08:00
 xpol

《OpenGL ES 2.0 Prgramming Guide》中关于 Fragment Shader 的输入:

Varying variables—Outputs of the vertex shader that are generated by the rasterization unit for each fragment using interpolation.

破折号后面这句话怎么翻译和理解?

我理解的是:栅格化单元将顶点着色器(Vertex Shader)的输出用插值算法生成的片元(Fragment)。

感觉有点不通顺,而且无法和前面的 Varying variables 联系起来。

同时顶点着色器(Vertex Shader)的输出是 Varying variables 。

到底 Fragment Shader 的出入是 Varying variables 还是 Fragment ?

而且这句话有点关键,希望得到大家的指点。

704 次点击
所在节点   翻译
5 条回复
lsmgeb89
2014-10-03 20:29:24 +08:00
不懂图形学,试试看。逃~~

由 rasterization 对每个片段进行插值从而生成的顶点着色器的输出。
这种输出是变量(varying variables)
Mutoo
2014-10-03 20:44:23 +08:00
有些事情,实践过就知道了。

在 Vertex shader 中标记为 varying 的变量,会传递到 Fragment shader,但并不是直接传递。而是经过线性插值算法得出。

至于为什么需要插值,是因为每一个顶点都会由 Vertex shader 产生相应的 varying 变量。而 Fragment 的输入是由多个顶点插值得到,包括但不限于fragment的屏幕坐标、颜色、纹理坐标,其它varying 变量。
Mutoo
2014-10-03 20:56:55 +08:00
试翻译一下

Varying variables: Vertex Shader 的输出(多个),被光栅单元插值处理后供 Fragment 使用。
xpol
2014-10-03 20:59:45 +08:00
@Mutoo 感谢!

明了许多,对初学者足够了。
不过深入理解还是等实践后吧。
chaixl
2014-10-03 21:15:46 +08:00
Fragments 上的数据是光栅化过程中插值生成的。

比如顶点上的颜色、纹理坐标、法向量等值经过插值后可以得到每个片元上的相应值。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/136928

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX