V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xpol
V2EX  ›  翻译

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

  •  
  •   xpol · 2014-10-03 20:17:11 +08:00 · 767 次点击
    这是一个创建于 3705 天前的主题,其中的信息可能已经有所发展或是发生改变。

    《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 ?

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

    5 条回复    2014-10-03 21:15:46 +08:00
    lsmgeb89
        1
    lsmgeb89  
       2014-10-03 20:29:24 +08:00   ❤️ 1
    不懂图形学,试试看。逃~~

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

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

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

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

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

    比如顶点上的颜色、纹理坐标、法向量等值经过插值后可以得到每个片元上的相应值。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5971 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 03:23 · PVG 11:23 · LAX 19:23 · JFK 22:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.