HLSL GLSL CG着色语言比较

本文探讨了三种主要的着色语言——GLSL(OpenGL Shading Language)、HLSL(High Level Shading Language)和Cg的原理、运行流程以及它们在GPU编程中的应用。作者指出,虽然GLSL和HLSL分别基于OpenGL和Direct3D,Cg则是跨平台的解决方案,被广泛应用于图形处理器编程。Cg语言的设计理念是使GPU编程变得像C语言一样方便,它保留了C语言的语义,支持高级语言特性,如代码重用和易读性,同时也适用于动画驱动和通用计算。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人”

 

    In the last year I have never had to write a single HLSL/GLSL shader. Bottom line, I can’t think of any reason NOT to use CG.

    shader language,称为着色语言,shade在英语是阴影、颜色深浅的意思,Wikipedia上对shader language的解释为“The job of a surface shading procedure is to choose a color for each pixel on a surface, incorporating any variations in color of the surface itself and the effects of lights that shine on the surface(Marc Olano)”,即,shader language基于物体本身属性和光照条件,计算每个像素的颜色值。

    实际上这种解释具有明显的时代局限性,在GPU编程发展的早期,shader language的提出目标是加强对图形处理算法的控制,所以对该语言的定义亦针对于此。但随着技术的进步,目前的shader language早已经用于通用计算研究。

    shader language被定位为高级语言,如,GLSL的全称是“High Level Shading Language”,Cg语言的全称为“C for Graphic”,并且这两种shader language的语法设计非常类似于C语言。不过高级语言的一个重要特性是“独立于硬件”,在这一方面shader language暂时还做不到,shader language完全依赖于GPU构架,这一特征在现阶段是非常明显的!任意一种shader language都必须基于图形硬件,所以GPU编程技术的发展本质上还是图形硬件的发展。在shader language存在之前,展示基于图形硬件的编程能力只能靠低级的汇编语言。

    目前,shader language的发展方向是设计出在便捷性方面可以和C++/JAVA相比的高级语言,“赋予程序员灵活而方便的编程方式”,并“尽可能的控制渲染过程”同时“利用图形硬件的并行性,提高算法的效率”。Shader language目前主要有3种语言:基于OpenGL的GLSL,基于Direct3D的HLSL,还有NVIDIA公司的Cg 语言。

    本章的目的是阐述shader language的基本原理和运行流程,首先从硬件的角度对Programmable Vertex Processor(可编程顶点处理器,又称为顶点着色器)和 Programmable Fragmen

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值