三维图形程序设计
基础知识
计算机图形学概述
计算机图形学(CG)是一门研究如何利用计算机进行图形的计算、处理和显示的学科。简单的说是一种使用数学算法将二维或三维图形转化为计算机显示器所能显示的二维栅格形式的科学(3D–>2D)。
- 建模(Modeling):构建物体三维模型
- 渲染(Rendering):计算屏幕窗口中每个像素的颜色,像素点颜色与光照、环境及物体材质有关
- 逐像素绘制
- 逐面片绘制(主流)
- 动画(Animation):让物体动起来
图形与图像
- 图形(graph):表示形的几何信息
- 图像(image):像素组成的二维栅格
图形的显示最终要转化为图像。

图形流水线
- 图形流水线(Graphics pipeline):在计算机中将3D模型转化为屏幕上的图像经过的一系列处理步骤(现在一般是逐面片绘制)。
- 逐面片绘制:模型由许多面片(polygon)组成,逐面片的进行投影、光栅化(Rasterization)。
- 投影:三维变换到二维
- 光栅化:计算面片所覆盖的栅格
- 逐面片绘制:模型由许多面片(polygon)组成,逐面片的进行投影、光栅化(Rasterization)。
- 1992年,SGI发布OpenGL1.0,图形流水线逐渐形成业界标准。
- 1994年出现PC显卡,1999年出现GPU,图形流水线逐渐硬化到pc机专用图形硬件中。


- 顶点操作(vertex operation)
变换(Transformation):几何变换->投影->裁剪->视口变换 - 光栅化(rasterization)
计算面片所覆盖的栅格 - 片元操作(fragment operation)
纹理、雾效、测试等
图形开发库
- 基础图形库
- OpenGL(Open graphics library)
调用图形硬件的程序接口,应用程序和图形显卡驱动的中介,可跨平台。 - Direct3D
在游戏界占优。
- OpenGL(Open graphics library)

这篇博客介绍了计算机图形学的基础,包括图形流水线、OpenGL编程和光照模型。讲解了从几何变换、投影到光栅化的过程,以及OpenGL的功能和编程模式。详细探讨了Phong和Blinn-Phong光照模型在OpenGL中的应用。

1605

被折叠的 条评论
为什么被折叠?



