V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
xpol
V2EX  ›  翻译

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

  •  
  •   xpol · Oct 3, 2014 · 1308 views
    This topic created in 4233 days ago, the information mentioned may be changed or developed.

    《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 replies    2014-10-03 21:15:46 +08:00
    lsmgeb89
        1
    lsmgeb89  
       Oct 3, 2014   ❤️ 1
    不懂图形学,试试看。逃~~

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

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

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

    Varying variables: Vertex Shader 的输出(多个),被光栅单元插值处理后供 Fragment 使用。
    xpol
        4
    xpol  
    OP
       Oct 3, 2014
    @Mutoo 感谢!

    明了许多,对初学者足够了。
    不过深入理解还是等实践后吧。
    chaixl
        5
    chaixl  
       Oct 3, 2014
    Fragments 上的数据是光栅化过程中插值生成的。

    比如顶点上的颜色、纹理坐标、法向量等值经过插值后可以得到每个片元上的相应值。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6324 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 02:39 · PVG 10:39 · LAX 19:39 · JFK 22:39
    ♥ Do have faith in what you're doing.