最近听了北京林业大学杨刚教授的网络课程图形编程技术,将听课的有关内容作下整理,以便日后的复习。
计算机图形学概述
计算机图形学(Computer Graphics),简称CG。可以用以下三点概述:
- 计算机图形学是一门研究如何利用计算机进行图形的计算、处理和显示的学科。
- 是一种使用数学算法将二维或三维图形转化为计算机显示器所能显示的二维栅格形式的科学。
-
他所研究的内容:
计算机图形研究的内容.png
Graphics Pipeline (图形流水线)
概念:
在计算机中将3D模型转化为屏幕上的 图像需要经过一系列的处理步骤,这个处理步骤 就是图形流水线。
背景:
1992年,SGI 发布OpenGL1.0,图形流水线逐渐 形成业界标准。
![](https://img.haomeiwen.com/i6938768/29c91bdf6067b83d.png)
![](https://img.haomeiwen.com/i6938768/f22626a633b6d3b9.png)
![](https://img.haomeiwen.com/i6938768/11fcfe093b6572ac.png)
简单讲Geometry shader(几何着色器)就是可以添加很多不存在的顶点,从而可以处理出更多意想不到的细节,使得更逼真。
OpenGL(Open Graphics Library)编程库简介
调用图形硬件的程序接口,大约由150个函数组成,用户可以调用来完成各种绘图。![](https://img.haomeiwen.com/i6938768/4c052e09d5b8368f.png)
OpenGL是状态机
- 整个绘制操作会按照固定的流程进行,如同流水线。
- OpenGL函数只是用来设置这条流水线的一系列状态参数, 而并不是用来真正执行绘制操作的。
OpenGL可以干什么:
• 变换 (几何变化, 投影, 视口变换)
• 光照与材质
• 纹理映射
• 图像功能 (anti-aliasing(反混淆), fog, blending(混合)...)
• 特效 (Depth Cue(深度暗示), Motion Blur(运动模糊)...)
• 建模 (basic primitives、NURBS)
• ......
![](https://img.haomeiwen.com/i6938768/dd43504975c3445e.png)
PS:2006又增加了Geometry shader可编程。
OpenGL包含的相关库:
![](https://img.haomeiwen.com/i6938768/410486e77057de52.png)
![](https://img.haomeiwen.com/i6938768/1c340e3804e55574.png)
我想这样设计就是为了跨平台。
这节就整理到这,后续更新。。。
网友评论