OpenGL学习(1)-基础知识(1)

从《OpenGL超级宝典(第5版)》开始学习,版本为OpenGL 3.0,不包含不推荐(deprecated)部分-固定管线,为核心版本(core profile),


3D图形基础

三维(3D)表示一个正在描述或显示的物体具有3个维度: 宽度、 高度 和深度。

计算机3D图形实质上是平面的,是在计算机屏幕上所显示的二位图像,但它可以提供深度(第三维)的错觉。

2D + 透视 = 3D

透视(perspective /pəˈspektiv]/):the art of creating an effect of depth and distance in a picture by representing people and things that are far away as being smallerthan those that are nearer the front

为看到3D图像,需要用两个眼睛观察一个物体,为每只眼睛分别提供这个物体的一副独立而又唯一的图像,大脑通过对两幅略微不同的图像进行组合,在脑海形成一副单一的、合成的3D图片;可以通过加大两幅图像之间的角度增强3D效果,如立体单片、3D电影。


单凭透视本身足以创建三维外观,以二位形式观察时,很多3D效果仍然存在,这些效果足以激发大脑辨别深度能力

·光线照射产生的表面着色

·进出物体看起来比远处物体大,透视缩短(foreshortening)

·颜色的改变、纹理、光照、着色、不同颜色强度


技术术语

渲染(Rendering  /ˈrendərɪŋ/):将数学和图形数据转换成3D空间图像的操作,计算机创建三维图像时所经历的的过程;做名词,指最终的图像作品。

变换(Transformation)

顶点(Vertex  /'vɜ:teks/,复数Vertices)

变换矩阵(Transformtion Matrix  /ˈmeɪtrɪks/)

投影矩阵(Projection Matrix):用于将3D坐标转换成二维屏幕坐标,实际的线条也将在二维屏幕坐标上进行绘制。

光栅化(Rasterization  //):实际绘制或填充每个顶点之间的像素形成线段的过程。

隐藏表面消除(Hidden Surface Removal)

大多是情况下,不是用线段,而是用实心三角形进行渲染,像线段一样,三角形和多边形也会被光栅化或填充。

着色(Shading)

着色器(Shader):在图形硬件上执行的单独程序,用来处理顶点和执行光栅化任务。

纹理贴图(Texture Mapping  /'tɛkstʃɚ/):一个纹理是一幅用来贴到三角形或多边形上的图片,纹理是快捷有效的,一个纹理所能再现的表面如果用三角形来实现                                                              的话,可能需要几千甚至几百万个。

混合(Blending  /'blendɪŋ/):能够将不同颜色混合起来。

可编程着色器(Programmable Shader)


实时3D:活动并与用户进行交互的图形。

非实时3D:预渲染的,设计模型和场景,并用一个光线追踪器 或 扫描线渲染器来处理这些定义,产生高质量3D图像。

                过程是一个建模应用程序使用实时3D图形与艺术家进行交互,创建具体内容,然后所创建的帧被发送到另一个应用程序(光线追踪器、离线渲染器offline rendering)或子程序,对图像进行渲染,渲染并保持成千上万个帧的过程生成一个可回放的动画序列。


你可能感兴趣的:(OpenGL学习,OpenGL,图形)