本文主要是介绍OpenGL边用边学------2 经典照相机模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 实际照相步骤
- 1 布置场景和调整照相机位置
- 3 选择镜头对焦Focus
- 4 按下快门
- 5 在电脑窗口中欣赏图片
- OpenGL的相机模型
- 0 确定胶片位置
- 1 确立场景世界坐标系
- 2 在世界坐标系中确定相机位置与方向
- 3 在世界坐标系中建立物理世界模型
- 4 视图变换与模型变换的抉择
- 5 在照相机坐标系中确定可视范围对焦投影变换
- 6 调用glBegin glEnd拍照
- OpenGL相机模型与实际相机的不同
- 1 物体和相机都可以任意移动
- 2 最终的照片可以是多次拍摄合成的
- 3 特殊的投影方式正投影
- 相机模型使用建议
- 1 尽量让编程符合这个模型
- 2 注意区分两大坐标系世界坐标系和相机坐标系
- 3 实例
学习OpenGL必须要有一个感性的认识,最经典的类比就是照相机照相模型。现在几乎人人都有一部自带照相功能的手机了,所以这个模型对于绝大多数人来说都是非常容易理解的。
1 实际照相步骤
1.1 布置场景和调整照相机位置
之所以把布置场景和调整相机位置放到了一起,是因为这两个步骤的顺序不是固定的,摄影师既可以自己移动相机,也可以指挥被拍的人移动位置。
1.3 选择镜头,对焦(Focus)
镜头的选择主要是为了达到合适的视角范围,镜头确定以后,焦距就确定了。
一般来说,调焦(Focus)并不是改变镜头的焦距,而是改变镜头与胶片的距离(像距)。
凸透镜能成像,一般用凸透镜做照相机的镜头时,它成的最清晰的像一般不会正好落在焦点上,或者说,最清晰的像到光心的距离(像距)一般不等于焦距,而是略大于焦距。具体的距离与被照的物体与镜头的距离(物距)有关,物距越大,像距越小,(但实际上总是大于焦距)。
1.4 按下快门
一切都调整好了,就可以拍照了。按下快门的那一刻,相机位置、场景布置都定格了,不再改变。感光器件(胶片)会记录下这一时刻的场景,绘制成一个矩形的二位像素图。
1.5 在电脑窗口中欣赏图片
然后就可以把照片转移到电脑中,使用看图软件把图片放到合适的位置进行欣赏了。
2 OpenGL的相机模型
2.0 确定胶片位置
OpenGL中没有真正的胶片,必须把拍摄到的图像放到一个指定的地方显示,这个地方就是视口。在上篇博文中已经专门介绍了视口的设置方法了,这里不再累述。
2.1 确立场景(世界)坐标系
与实际照相不同的是,OpenGL默认的物理世界里是没有任何物体的。需要程序员通过代码来建立场景中的物体。建模的最基本要素是确定物体的位置,而要描述物体位置首先要做的就是确定一个世界(场景)坐标系。这个坐标系必须是标准的笛卡尔右手坐标系,而其原点和长度单
这篇关于OpenGL边用边学------2 经典照相机模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!