Shader|着色语言_该用户还没想到昵称_新浪博客

         着色语言是专门用于编写着色器的,常见的着色语言有DirectX的HLSL(High Level Shading Language)、OpenGL的GLSL(OpenGL Shading Language)以及NVIDIA的CG(C for Graphic)。
 
    HLSL、GLSL、CG都是“高级”语言,但这种高级是相对于汇编语言来说的,而不是像C#相对于C的高级那样。这些语言会被编译成与机器无关的汇编语言,也被称为中间语言。这些中间语言再交给显卡驱动来翻译成真正的机器语言,即GPU可以理解的语言。

  • GLSL的优点在于它的跨平台性,它可以在Windows、Linux、Mac甚至移动平台等多种平台上工作,但这种跨平台性是由于OpenGL没有提供着色器编译器,而是由显卡驱动来完成着色器的编译工作。即GLSL是依赖硬件,而非操作系统层级的。但这也意味着GLSL的编译结果将取决于硬件供应商,这可能造成编译结果不一致的情况。

  • HLSL是由微软控制着着色器的编译,就算使用了不同的硬件,同一个着色器的编译结果也是一样的。但支持HSLS的平台相对较少,几乎完全是微软自己的产品,如Windows、Xbox 360、PS3等。这是因为在其他平台上没有可以编译HSLS的编译器。

  • CG则是真正意义上的跨平台。它会根据平台的不同,编译成相应的中间语言。CG语言的跨平台性很大原因取决于与微软的合作哦,这也导致CG语言的语法与HSLS非常像,CG语言可以无缝移植成HSLS代码。但缺点是可能无法完全发挥出OpenGL的最新特性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烫青菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值