// osg4_25.cpp : 定义控制台应用程序的入口点。
//鸟瞰图相机
//新建一个相机对象,并且设置它的投影矩阵为正交投影,设置观察位置在整个模型数据的正上方(Z+方向),构成一种鸟瞰图的效果
//产生目标场景视图的变化过程类似于用相机拍照:
//步骤如下:
//1.设置相机位置:视点变换
//2.调整物体位置:模型变换(OSG中通过某一对象子节点树中多个Transform节点的级联来实现,就是之前的空间变换节点)
//3.调焦拍摄:投影变换
//4.冲洗照片:视口变换
//(1)模型视点变换:相当于调整要拍摄物体的位置,姿态,以及调整相机使其对准景物的过程。视点变换的行为可以看作模型变换的逆操作。
//事实上,改变观察点的位置与方向和改变物体本身的位置与方向具有等效性。
//经过模型视点变换之后可以认为场景从世界坐标系转换到了相机坐标系。
//(2)投影变换:相当于拍照时通过选择镜头和调整焦距等,将景物投射到二维底片的过程。
//投影变换的主要操作对象是一个立法体(平行视景体),结果实生成一个正射投影矩阵
//或者棱台形状的视景体(视锥体),完成透视投影工作,离视点近的物体较大,离视点远的物体较小。
//在视景体为的对象将被裁切,不会被投影到二维面上。
//(3)视口变换:将投影变换所得到的结果反映到指定的屏幕窗口上。意味着场景最终变换到窗口坐标系中。
//相机节点:实现
//鸟瞰图相机
//新建一个相机对象,并且设置它的投影矩阵为正交投影,设置观察位置在整个模型数据的正上方(Z+方向),构成一种鸟瞰图的效果
//产生目标场景视图的变化过程类似于用相机拍照:
//步骤如下:
//1.设置相机位置:视点变换
//2.调整物体位置:模型变换(OSG中通过某一对象子节点树中多个Transform节点的级联来实现,就是之前的空间变换节点)
//3.调焦拍摄:投影变换
//4.冲洗照片:视口变换
//(1)模型视点变换:相当于调整要拍摄物体的位置,姿态,以及调整相机使其对准景物的过程。视点变换的行为可以看作模型变换的逆操作。
//事实上,改变观察点的位置与方向和改变物体本身的位置与方向具有等效性。
//经过模型视点变换之后可以认为场景从世界坐标系转换到了相机坐标系。
//(2)投影变换:相当于拍照时通过选择镜头和调整焦距等,将景物投射到二维底片的过程。
//投影变换的主要操作对象是一个立法体(平行视景体),结果实生成一个正射投影矩阵
//或者棱台形状的视景体(视锥体),完成透视投影工作,离视点近的物体较大,离视点远的物体较小。
//在视景体为的对象将被裁切,不会被投影到二维面上。
//(3)视口变换:将投影变换所得到的结果反映到指定的屏幕窗口上。意味着场景最终变换到窗口坐标系中。
//相机节点:实现