OpenGL 3D 超级宝典学习笔记

来源:互联网 发布:linux firewall 编辑:程序博客网 时间:2024/05/17 01:22
OpenGL 3D 超级宝典学习笔记


1、基本介绍:

二维图像如何显示成三维: 2D + 透视 = 3D

透视Perspective(视角):直线之间的角度,形成深度的幻觉

纹理贴图(texture mapping):利用真实表面或细节的照片,然后将这幅图像应用于一个多边形的表面,所提供的图像称为纹理(texture),而纹理中每个单独的元素称为纹理单元(texel),而在一个物体的表面上拉伸或压缩纹理单元的过程称为过滤(filtering)

混合和透明:混合(blending)是屏幕上颜色或物体的组合,类似于双重曝光照片所实现的效果。

抗剧齿:由于图像是由不连续的像素所组成的,因此可看到剧齿效果。可以将这些直线与背景颜色相混合消除从而呈现平滑的外观。

2、3D编程基本原则
坐标系统:
指定一个物体的位置及大小之间,需要一个参考帧对它进行测量和定位。

2D笛卡儿坐标:
由一个x坐标和一个y坐标构成,x坐标测量水平方向的位置,而y坐标则测试垂直方向的位置,原点(x=0,y=0),两根轴从负无穷扩展到正无穷,两轴垂直相交。

视口Viewport:
裁剪区域的高度与宽度一般不与窗口的宽度与高度相匹配,因此坐标系统从逻辑笛卡儿坐标映射到物理屏幕像素坐标,这种映射就是视口设置指定。
视口就是窗口内部用于绘制裁剪区域的客户区域。可以通过视口来缩小或放大窗口中的图像,也可以将视口设置成大于窗口的客户区域,从而只显示裁剪区域的一部分。

3D笛卡儿坐标:
将二维坐标扩展到三维坐标,并增加深度成分,即增加一个新的z轴.

投影:从3D到2D
本质是:"三解法和简单的矩阵操纵"
投影变换是一种很关键的图形变换,OpenGL中只提供了两种投影方式,一种是正射投影,另一种是透视投影

正射投影,又叫平行投影。这种投影的视景体是一个矩形的平行管道,也就是一个长方体,投影后的物体大小尺寸不变.
透视投影,即离视点近的物体大,离视点远的物体小,远到极点即为消失,成为灭点。

顶点vertex:
当绘制一个物体时,实际使用更小的图元(primitives)形状组成这个物体,图片是一维或二维的实体或表面:点,直线,多边线,其每个解称为顶点,即2D或3D空间中的一个坐标,即对坐标连线绘图。


原创粉丝点击