Unity 与计算机图形学

作者: 段然丶 | 来源:发表于2017-08-25 22:17 被阅读0次

    从GPU讲到游戏引擎再到游戏

    1.GPU/硬件原理

    GPU(图形处理器)硬件原理:(个人理解)高效的绘制图形 ,显卡的中央处理器

    GPU上大量的计算单元进行搞数据密度的运算,这些计算单元分为两种  

    1.ALU (算数逻辑单元 就是用来运算的)    相对于CPU来说他的数量非常大

    2.Cache(高速缓存)  缓存静态内存,静态意思是写入内存后,除非重新写入新数据,否则数据不变

    由于CPU的速度比内存和硬盘的速度要快得多,所以在存取数据时会使CPU等待,影响计算机的速度。SRAM(静态内存)的存取速度比其它内存和硬盘都要,所以它被用作电脑的高速缓存(Cache)。

    视频理解GPU:http://v.youku.com/v_show/id_XNjY3MTY4NjAw.html


    2.硬件流程

    第一步 数据存储转换

    硬盘(信息与指令)——>CPU调度到内存中转——>最后存到显存中

    第二步 进入渲染预备状态

    显存中有几种不同的储存区域,用于储存不同阶段需要的数据。

    1、顶点缓冲区:用于储存从内存中传递过来的顶点数据

    2、索引缓冲区:用于储存每个顶点的索引值,我们可以根据索引来使用相应的顶点

    3、纹理缓冲区:用于储存从内存中传递过来的纹理数据

    4、深度缓冲区:用于存储每个像素的深度信息

    5、模板缓冲区:用于存储像素的模板值,且模板缓冲区域深度缓冲区公用一片内存。

    6、颜色缓冲区:用于储存像素的颜色数据


    3.软件流程

    第一步:图形信息加载到显存中备用

    不管是三维模型 还是二维UI都以相同的数据结构(个人理解:点和索引信息,图结构?)

    点信息索引信息(框架)都被加载进了 显存 中备用,而模型不光有框架而已 包括颜色,贴图 等信息 也被加载到显存

    第二步 ——顶点着色器,坐标转换

    1. 模型空间坐标系:Model Space

                模型中心为原点,所有的模型顶点坐标都已原点为基准

    2. 世界空间坐标系:World Space

                整个游戏场景中的参考坐标系,是一个固定不变的坐标系,

    所有的模型的坐标都可以在世界坐标系中表示,模型在世界坐标系中可以执行位移变换,旋转变换,缩放变换等操作。

    3. 视角空间:View Space

    这个坐标是以照相机为基准的,以照相机位置为原点,照相机朝向z轴正方向,右边为x轴正方向,上边为y轴正方向。之所以设置这个坐标系,主要是为了主便接下来的投影及裁剪操作。如果直接在世界空间下进行,由于照相机位置、朝向灵活多变,计算将会十分复杂。有了视角空间,一切计算以原点为基准,会大大方便计算。

    4. 投影、裁剪空间:Projection Clip Space

    这个空间即世界空间的物体被投影到相应的投影面上之后,继而进行裁剪操作所在的空间。

    总结

    总结这个工作过程一个工厂中

    shader property中的 材质 纹理 颜色 光照 是工厂中的原材料

    硬件本身就是工人

    shader就像是一副装配图纸告诉工人以怎样的方式组织原材料

         

    相关文章

      网友评论

        本文标题:Unity 与计算机图形学

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