Lesson 6: 理解计算机图形学

本文介绍了计算机图形渲染过程中,CPU如何指导GPU工作,以及DirectX图形基础设施如何利用硬件加速提高图形质量。文中详细解释了交换链的概念,包括前台缓冲区和后台缓冲区的工作原理,并探讨了渲染流水线的不同阶段。
摘要由CSDN通过智能技术生成

原文地址:
http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-1

The CPU Directs the GPU
这里写图片描述
大意为:CPU驱动GPU绘制图形显示在监视器上。

The CPU and GPU Have Separate Memory
这里写图片描述

DirectX图形基础设施(DXGI)示意图:
这里写图片描述
简单说下,Win32应用程序可以使用Direct3D完成与硬件(显卡)的交互。不仅如此,Direct3D可以通过硬件抽象层(HAL)通过图形设备驱动程序接口访问图形硬件,从而可以充分地发挥显卡的潜在功能,绘制出高性能高质量的精美图形来。

交换链:
这里写图片描述
为了让画面能够平滑的过渡,DXGI使用了交换链的方法:
交换链由两个或者两个以上的表面组成,而每个表面都是存储着2D图形的一个线性数组,其中每个元素都表示着屏幕上的一个像素。
前台缓冲区和后台缓冲区是位于系统内存或显存里的内存块,对应于将要显示的二维显示区域。前台缓冲区是显示在显示屏上的,后台缓冲区主要用于图形绘制的准备工作,准备好之后,就可以和前台缓冲区进行一个交换动作。
页面翻转,是指向前台缓冲区和后台缓冲区表面内存的指针在进行着调换动作,也就是说是经过交换表面内存的指针来实现的,而不是通过复制表面的内容实现的。

当然,为了得到更好地效果,我们甚至可以使用三缓冲:
这里写图片描述

渲染流水线:
渲染流水线是产生3D图形的处理过程,就像流水作业线一样,一步接着一步,它的各个步骤都是在GPU上执行的。
这里写图片描述
1.The Input-Assembler Stage:
这个阶段从显存中获取你想要渲染的3D模型信息,然后编译这些信息为渲染做准备。

2.The Rasterizer Stage:
这个阶段决定了后台缓冲区的图形需要绘制成什么样的,确切的说哪个像素需要绘制以及它们的颜色是什么。

3.The Output-Merger Stage:
流水线的最后一个阶段,将每个独立的模型整合成一张图片然后把它放在后台缓冲区中。

3D坐标系系统:
这里写图片描述

3D几何学:
三角形作为最简单的多边形,是构建物体模型的基本单元。
为了能够使用大量的三角形组成三角形网格来描述物体,首先需要定义好三角形的顶点,3个顶点确定一个三角形,而顶点除了定义每个顶点的坐标位置以外,还含有颜色等其他属性。

这里写图片描述
图中三角形由这三个顶点构成:
x = 0, y = 5, z = 1
x = 5, y = -5, z = 1
x = -5, y = -5, z = 1

然而,要给每个三角形都定义它们的3D坐标系,那太枯燥了。而我们不需要这么做,下节课将会学习创建一个表来存放顶点的信息。

基本体:
1.Point Lists点列
这里写图片描述
A Point List (6 Primitives)

2.Line Lists线列
这里写图片描述
A Line List (3 Primitives)

3.Line Strips线带
这里写图片描述
A Line Strip (5 Primitives)

4.Triangle Lists三角形列
这里写图片描述
A Triangle List (2 Primitives)

5.Triangle Strips三角形带
这里写图片描述
A Triangle Strip (4 Primitives)

A Primitive Quirk基本体绘制习惯:
顺时针绘制基本体。

Primitive Only Visible When Drawn Clockwise
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值