CPU和GPU之间的通信2018-11-26

        渲染流水线的起点是CPU,即应用阶段。应用阶段大致可分为下面3个阶段。

        (1)把数据加载到显存

        (2)设置渲染状态

        (3)调用DrawCall

把数据加载到显存

         所有渲染所需的数据都需要从硬盘(Hard Disk Drive, HDD)中加载到系统内存(Random Access Memory, RAM)中。然后,网格和纹理等数据又被加载到显卡上的存储空间--显存(Video Random Access Memory,VRAM)中。显卡对于显存的访问速度更快,大多数显卡对于RAM没有的访问权利。

    当把数据加载到显存中,RAM中的数据就可以移除了。但对于一些数据来说,CPU可能会使用到,比如网格数据进行碰撞检测。

设置渲染状态

        什么是渲染状态呢?一个通俗的解释就是,这些状态定义了场景中的网格是怎么样被渲染的。例如,使用哪个顶点着色器(Vertex Shader)/片元着色器(Fragment Shader)、光源属性、材质等。不更改渲染状态,那么所有网格都将适用同一种渲染状态。

调用DrawCall

Draw Call就是一个命令,发起方是CPU,接收方是GPU。这个命令仅仅会指向一个需要被渲染的图元(primitives)列表。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载自VR设计云课堂[https://www.jianshu.com/u/c7ffdc4b379e]Unity S...
    水月凡阅读 1,067评论 0 0
  • 原文地址 http://www.fx114.net/qa-75-172454.aspx 使用Profiler工具...
    IongX阅读 5,935评论 1 11
  • 转载http://wetest.qq.com/lab/view/315.html 移动平台硬件架构 移动平台无论是...
    李嘉的博客阅读 1,753评论 0 4
  • 概念渲染流水线 应用阶段 由CPU实现,在这个阶段,开发者占有绝对的控制权。 此阶段实现3个任务: 1 准备好场景...
    TALY阅读 812评论 0 0
  • 硕大的水果,蔬菜,面包,还有一片土地。都是父母给小女孩留下的所有财产。 小女孩刚从失去双亲的悲痛中走了出来。明白最...
    庭花阅读 231评论 0 0