wonder天 wonder天
关注数: 286 粉丝数: 382 发帖数: 43,743 关注贴吧数: 51
吧里某个拿着ios截图当安卓的孩子给了我们欢乐 但是欢乐归欢乐 要是一大堆神论影响吧友智商就不好了 一下文章转自高通吧吧主炮神的文章 就当科普随便骗骗精 前言: 现在移动设备的“核战”越来越激烈,已经从CPU引发到了GPU上,于是“16核”,“8管线”,“MP4”“三角形生成率”“填充率”各种吸引眼球的宣传铺天盖地而来。一直很希望能有些文章来介绍科普下,但或许是专业人士都觉得这些太基础,最后忍不住,只能由我这个半桶水的非专业人士来写点啥了。本文参考和引用了网上的一些资料,篇幅有限恕不一一列举。内容尽可能的科普浅显,但限于个人的知识层次、理解能力和表达能力,如果有不确切或者错误的地方,还请多多指正。 基本的3D流水线 首先我们来简单的介绍下3D的画面是如何生成的,一个基本的3D流水线如下图所示:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F1b1f9658d109b3de2be84ebaccbf6c81810a4c5a.jpg&urlrefer=7a11f0b493c26d1d639167ec53ab9937首先,运行在CPU上游戏引擎根据游戏中的一些参数,产生一系列的图元,将它们的顶点数据发送给GPU 第二步,顶点处理器(Vertex Processor)对顶点数据进行一系列的变换和光照处理。简单的想想,游戏中的各个物体的坐标都是参照游戏中的世界坐标系的,而实际显示的画面是玩家视角或者摄像机视角,这中间就有许多坐标系的转换。这些活就需要顶点处理器来做,最终我们得到了我们所需要视角的画面。 但是,到这一步,画面还只是一些多边形,而实际显示在屏幕上的是一个个像素,这里就需要Rasterizer进行光栅化(Rasterization,3),从而将画面变成一个像素图。 第四步,对这些像素进行上色,Fragment Processor中的像素着色器(Pixel Shader)按照程序规定的算法,计算出画面中每个像素的颜色,之后第五步就是把结果输出到内存中,全部完成后拿去显示。当然在这整个过程中,还跟纹理贴图6有关系。所谓贴图就是把纹理(一个二维的静态图片)按照一定的算法给贴到游戏里的三角形表面上去。http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fimgsrc.baidu.com%2Fforum%2Fpic%2Fitem%2F87d161380cd79123ec8d3ea6ad345982b3b78040.jpg&urlrefer=7dfbc0c00569c69e01402ecb2fd44724
首页 1 2 下一页