美文网首页
SV_POSITION与SV_Target

SV_POSITION与SV_Target

作者: 雄关漫道从头越 | 来源:发表于2019-06-15 12:01 被阅读0次

DX9与DX11shader编写中SV_POSITION与POSITION和SV_Target与COLOR之间的区别(一)
cg语言 SV_POSITION vs POSITION
Very simple question about fragment function

        在unity shader的学习和工作中经常看到 SV_POSITION和SV_Target,之前也看了一些文章,一直模模糊糊的概念,现在差不多清楚了,记录一下。
        SV_POSITION和SV_Target都是语义绑定(semantics binding) ,可以理解为关键字吧,图形渲染是按照固定的流程一步一步走的,所以也叫管线,应该是这个意思吧,在这个过程中,前面流程处理完的数据是需要传到下一个流程继续处理的,因为gpu和cpu的架构不同,这又是个更大的知识点了,有兴趣的同学可以自己去了解一下,这里不多说了,所以呢gpu并不能像cpu一样有内存堆栈可以用来存取变量和值,只有通过语义绑定(semantics binding) 将处理好的值存到一个物理位置,方便下一个流程去取,一般的可编程管线主要处理vertext(顶点)函数和fragment(片段)函数,当然也有叫片元函数的,一个意思吧。
        SV_前缀的变量代表system value的意思,在DX10+的语义绑定中被使用代表特殊的意义,SV_POSITION在用法上和POSITION是一样的,区别是 SV_POSTION一旦被作为vertex函数的输出语义,那么这个最终的顶点位置就被固定了,不得改变。DX10+推荐使用SV_POSITION作为vertex函数的输出和fragment函数的输入,而vertex函数的输入还是使用POSITION。不过DX10以后的代码依旧兼容POSITION作为全程表达,估计编译器会自动判断并替换的吧。
        SV_Target是DX10+用于fragment函数着色器颜色输出的语义。DX9使用COLOR作为fragment函数输出语义,但是也有一些着色器语言使用COLOR来表示网格数据和顶点输出语义,效果和功能是一样的,没有什么区别,同时使用COLOR的话DX10+也会兼容。

相关文章

  • SV_POSITION与SV_Target

    DX9与DX11shader编写中SV_POSITION与POSITION和SV_Target与COLOR之间的区...

  • 笔记

    POSITION 语义为坐标,SV_POSITION 语义为屏幕坐标,system value ->SV The ...

  • 5.《unityshader中级篇》Unity提供的CG/HLS

    我们看到了SV_POSITION,POSITION,COLOR0等。这些是CG/HLSL提供的语义。语义实际上就是...

  • && 与& ,||与|

    回忆知识点i++,,++i变量在前 先用变量符号(☞++/--)在前 先计算

  • 认真与身板

    认真与身板 认真与态度 认真与自信 认真与信心 认真与诚心 认真与正心 认真与正念 认真与正面 认真与精诚 认真与...

  • 与荒野,与你,与自己

    周末了,想跟大家分享一首诗 《阿莱夫》 诗作者:赖尔逊 阿莱夫在草原上盖了一栋房子, 犹如大海上的灯塔。 但你无法...

  • 与雪与丘与故土

  • 与海与浪与念

    木君 下午,在一段段风雨的催促下来到了绥中。天是被蒙起来的,太阳早已不知躲到哪里去了。微弱的日光和着轻柔的海风洒在...

  • 晚风与柳 孤独与狗 桥与落叶 马与白隙 云与苍天 梭与星月 天与地 生与死 树与来路 花与过往 我与你 爱与恨 夜色与酒

  • 海街日记

    和解。与他人和解、与家人和解、与自己和解;与得到和解、与失去和解;与过去和解、与现在、未来和解;与现实和解、与虚幻...

网友评论

      本文标题:SV_POSITION与SV_Target

      本文链接:https://www.haomeiwen.com/subject/xwzvfctx.html