/LGC图形渲染/图形学系列 -- 图形学基本概念汇编

400 篇文章 3 订阅
147 篇文章 0 订阅
图形学系列 -- 图形学基本概念汇编
作者: 刘鹏
日期: 2009-09-22
本文整理和总结了图形学中的基本概念。
硬件加速

计算机的硬件加速指充分利用硬件的功能使得处理比单纯软件的一般性应用更加 有效率。

图形处理器(GPU)就是针对图形渲染的硬件加速设备。把图形相关的出来工作交 给 GPU 做,可以减轻主处理器的负担,使用程序的整体性能得到数倍提升。

使用硬件 3D 加速,三维渲染将会使用显卡上的图形处理器进行,而不会占据宝 贵的 CPU 资源来绘制 3D 图像。

管线 (pipeline)2

图形渲染象流水线一样的顺序执行,所以形象的称之为管线。

固定渲染管线 (fixed function graphics pipeline)1

针对 3D 硬件的两大 API,OpenGL 和 Direct3D 都有它们固定的渲染管线,我 们把顶点位置、法线、纹理坐标等数据参数提供出来,然后再定义光源,我们就 可以得到一幅渲染出来的图像。在这个具体的渲染过程中游戏和程序的设计者是 没办法具体实施控制的。

着色器 (Shader)

从 DX8 和 OpenGL 扩展开始将可编程特性引入到渲染管线中来,这样使游戏开 发者通过自己编写一段小程序运行于显卡硬件来自己控制具体的渲染过程,在微 软的 DirectX 中就称这段程序代码 shader,在 OpenGL 中就叫 Program ,译 成中文就是“程序”。1

一句话,Shader 主要指的是可编程管线的算法片段。shader 可分 Vertex Shader 和 Pixel Shader 两种。

顶点着色器 (Vertex Shader)

取代固定渲染管线中的变换和光照部分,程序员可以自己控制顶点变换、光照等。 硬件中处理顶点 shader 的单元叫 vertex shader processors(顶点处理单元)。 例如,X1600 芯片中之中有 5 个 vertex shader processors。1

由于模型是由点构成的,因此改变点就是改变外形,比如星际争霸2demo片中所 展示的那个神族母舰黑洞的技能效果,扭曲了单位的外型。2

像素着色器 (Pixel Shader)

取代固定渲染管线中的光栅化部分,程序员可以自己控制像素颜色和纹理采样等。 硬件中处理像素 shader 的单元叫 pixel shader processors(像素处理单元)。 例如,X1600 芯片中之中有 12 个 pixel shader processors。1

游戏引擎里面,动物身上所渲染的一根根毛发,就是用了Pixel Shader,因为毛 发这种是针对每个像素的,所以要用到Pixel shader。2

光线追踪 (ray tracing)3

光线跟踪(ray tracing)(也叫 raytracing 或者光束投射法)是一个在二维(2D) 屏幕上呈现三维(3D)图像的方法。一个光线跟踪程序数学地确定和复制从一幅图 像的光线的路线,但是方向相反(从眼睛返回原点)。光线跟踪现在被广泛用于计 算机游戏和动画,电视和DVD制作,电影产品中。

许多厂商提供用于个人电脑的光线跟踪程序。在光线跟踪中,每一个光线的路径 由多重直线组成,几乎总是包含从原点到场景的反射、折射和阴影效应。

在动画中,每一束光线的直线部分的位置和方向总是在不断变化,因此每一条光 线都要用一个数学方程式来表示,定义光线的空间路径为时间的函数。根据光线 在到达屏幕前经过的场景中的目标的色素或颜色来分配给每一束光线一种颜色。 屏幕上的每一个像素符合每一时刻可以回溯到源头的的每条光线。

光线跟踪最先是由一个叫数学应用组的组织中的科学家在 20 世纪 60 年代发明 的。这些科学家中的一些人变得对光线跟踪作为一种艺术感兴趣,成为绘画艺术 家,并建立了一个动画摄影工作室,使用光线跟踪为电视和电影制作3D电脑肖像 和动画。

Reference
  1. 关于显卡shader的基本概念
  2. Vertex Shader & Pixel Shader
  3. 光线跟踪
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值