GPU和CPU一样按照要一定指令进行计算。不同的是GPU往往有成百上千个运算器,这使得前面的数据还没处理完,后面的数据就能进来一起处理,和流水线生产一样,效率很高,这就叫管线。
那我们要知道指令是怎么产生的,对于固定管线,指令是OPENGL内置的,或者是OPENGL根据你的需求自动调整的,总之,你不必知道这些指令是什么,也就是说指令是固定的。
相对于固定管线来说,另一个是可编程管线,使用可编程管线可以直接编写显卡指令,不但能完成所有固定管线能做的,还能编写更丰富的特效,充分发挥GPU性能,缺点是自己写的东西很多。 不过要理解3D的原理,即使你不自己写指令,也要了解一下大致步骤。
比如说啊,opengl-es 1.1 就是固定管线.. 而gles2.0就是可编程.
固定管线的固定是相对的. 比如你一个模型肯定是由顶点构成.每个顶线里面有空间位置/法线/颜色/uv贴图位置0/uv贴图位置1 等等等很多项目组成.而固定管线就是他已经定好了这些名堂,你只要按对应的名字,把数据传进去就好了.
而可编程管线就很灵活.你传入的数据只有shader知道是干什么用的, 而你的shader代码可以任意发挥. 比如每个顶点4个数字, x,y,z,w 然后你shader里 把 y,z 当做uv来使用, 然后把 w,y,z当法线来用, 这都是可以的. 任意组合,随意发挥.
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....