Unity中的图形渲染引擎

1、图形渲染引擎与游戏引擎的区别

图形渲染引擎是所有与图形相关的应用程序的核心模块,它的主要工作是:接收图形相关数据→处理图形数据→输出图像画面。

游戏引擎,是一款游戏运行的所有核心模块的集合。图形渲染引擎是游戏引擎的一个组成部份。游戏引擎里,除了有图形渲染引擎外,还包括了声音引擎、物理引擎、UI交互模块等其它主要核心模块。

2、图形渲染引擎与图形编程接口的区别

OpenGL、DirectX3D、Vulkan这些是图形编接口,而不是图形渲染引擎。图形编程接口(Graphic API)是指在操作系统层面的提供给开发者进行绘图用的一系列编程接口(API),说到底,就是一堆API,组合调用这些API可以绘制各种图形。也可以简单理解成是GPU向开发人员提供的绘图接口,这些接口接收的参数一般是最原始顶点数组(也叫XXBuffer)(没有复杂的几何数据类型等结构化数据)。调用这些接口主要也是操作GPU的计算工作。使用图形编程接口开发,基本上是面向GPU编程。

图形渲染引擎其实是在图形编程接口之上进行了一系列的封装,主要包括:定义的复杂的几何数据结构、定义了图片数据结构、引入了材了质这个概念、封装了对GPU的指令发送过程。图形渲染引擎提供的编程接口,使得开发者可以直接面向CPU编程,CPU向GPU发送指令的过程在图形渲染引擎上大部份是封装起来了。

实时渲染引擎,内部实现了一个无限循环运行的工作线程,这个循环叫作帧循环(Frame Loop),即每次循环就渲染出一帧画面。需基于实时渲染引擎开发的应用程序,程序的各种逻辑处理,都是由帧循环来驱动的。

Unity 是一个游戏引擎,而图形渲染引擎是游戏引擎中最核心最重要的组成部份,所以,大多数情况下,学习Unity开发,大部分时间也是花在学习Unity的图形渲染引擎上面。接下来,我将一步步深入研究探讨Unity中的图形渲染引擎。

渲染引擎的工作流量,可以大致简化概括为:

把渲染素材,输入到渲染器,由渲染器中的渲染流水线处理,处理完输出图像。

这里,

(1)渲染素材数据包括:矢量数据(Mesh)、栅格图片、材质(Material)、光照信息

(2)渲染器,包括里面的流水线,本来是一个渲染引擎中的内置完全封闭的组件。但是,在Unity,引擎向开发者提供了对渲染器和渲染流水线的开发接口,让开发都也能够通过接口去更改渲染器的工作细节。这就是ScriptableRenderPipeLine和ScriptbleRenderer。

所以,要掌握一个渲染引擎,应该要:

1、掌据渲染素材数据的程序化处理

即学会Mesh、Texture、Material、Shader、Light的数据结构及编程接口等。

2、可程序化设置、修改渲染器及渲染流水线的工作过程

即学会ScriptableRenderPipeline,后续URP为主研究Untiy中的渲染流水线。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值