渲染定义

 

渲染定义

渲染管线也称渲染流水线,是显示芯片内部处理图形信号相互独立并行的处理单位。

一个流水线是一序列可以并行和按固定顺序进行的阶段。

也就是说每个阶段都是从它的前一阶段输入,然后输出发给随后的阶段。

渲染一般分为离线渲染与实时渲染,游戏中我们用的都是实时渲染。

  • 实时渲染又可以分为2D渲染与3D渲染。

早期的2D渲染,是通过把一块内存(图片像素数据)往另一块(显示缓冲区)上搬运的方式,实现图片绘制的。

不过现在很多2D渲染的渲染方式已经采用3D渲染了。原因是当前显卡从架构上就利于并行处理,绘制速度更快,可以很方便提供各种3D效果,还节省图片资源内存。

3D的渲染简单概括一下,就是把一个空间中的模型所有点的数据取出来,经过空间转换到2维屏幕上,然后根据各项参数与数据在绘制到屏幕上。

现在几乎所有的游戏都是使用3D的渲染流程。

拓展:传统的2D游戏,是通过把一块内存(图片)往另一块(显示缓冲区)上搬运的方式,实现图片绘制的,
渲染都是靠CPU的多媒体指令加速。举例来说,一个二维角色动画,可以通过制作其多个序列帧图片循环
播放来实现。所以我们需要保存多个图片资源,加载时间长还占用内存。
DX里面的Direct2D是在Direct3D基础上多出来的一层封装,借助Direct3D的功能实现了对底层硬件的直接访问
从使用的接口上是简化了直接使用Direct3D实现2D效果的一些复杂代码,因此可以认为效率和3d相同,而使用方法上更简单了

渲染流

渲染管线流程就是是输入3D模型,输出2D片显示出来的过程

 

1.CPU与GPU的分工

CPU在内存中建立以下资源

·顶点定义

·顶点缓存

·索引缓存

·贴图

·摄像机

·投影

CPU从内存中发送以下资源到显存中供GPU使用

·顶点定义

·顶点缓存

·索引缓存

·贴图

·坐标系变换矩阵

·渲染状态

·贴图采样方式

DX 微软的图形编程API,着色语言是High Level Shader Language(HLSL),只能在Windows使用
OpenGL(OpenGraphicsLibrary) 着色语言是OpenGL Shader Language(GLSL)跨编程语言,跨平台

DX8与OpenGL2.0以后就都支持可编程渲染管线
vertexShader与pixelShader。现在更新的版本还支持GeometryShader

CPU与GPU架构不同,互相不能访问显存与内容

CPU一开始会得到模型的顶点等数据,需要UpLoad到GPU,然后GPU去处理
这个UPload过程不能频繁进行,因为顶点数据是很多的,所以一般渲染时我们看到模型在变化,其实在CPU他的位置是没变的

2.顶点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值