·天新网首页·加入收藏·设为首页·网站导航
数码笔记本手机摄像机相机MP3MP4GPS
硬件台式机网络服务器主板CPU硬盘显卡
办公投影打印传真
家电电视影院空调
游戏网游单机动漫
汽车新车购车试驾
下载驱动源码
学院开发设计
考试公务员高考考研
业界互联网通信探索
您现在的位置:天新网 > 软件开发 > 开发语言 > 汇编
Win32 OpenGL编程(9) 投影变换
http://www.21tx.com 2009年10月30日 CSDN 九天雁翎

1 2 3 4 5 下一页

  提要

  在前文(系列文章(7),以下简称XO7,系列其他文章类似)中的照相机比喻中提到了4种3D变换,如下:

  1.确定照相机的位置的过程对应于“视图变换”(Viewing Transformations)

  2.确定物体位置的过程对应于“模型变换”(Modeling Transformations)

  3.确定照相机放大倍数的过程对应于“投影变换”(Projection Transformations)

  4.确定照片大小的过程对应于“视口变换”(Viewport Transformations)

  XO7中我们讲的是第一种变换视图变换,即改变观察者本身的位置,视角等的变换效果,XO8中讲的是第二种变换模型变换,本文开始继续按顺序讲解下一个3D变换过程,投影变换。

  正投影

  投影变换的过程就像是照相机选镜头的过程,目的是确定视野,其实说起来投影一词,我在学习工程制图的时候就接触过了,不知道大家是否学过这门课程,工程制图就是一种将三维空间的事物设想投影在二维空间中,然后画下来,工程中应用非常广泛,那时候学的那些剖面图什么的,也是累死我了-_-!OpenGL就可以模拟这样的过程,并且名字和工程制图中的名字是一样的,叫正投影。

  OpenGL以glOrtho来指定一个正交平行的矩形,屏幕上显示的就是此物体在此矩形的正面的投影。在XO2中用过的gluOrtho2D实际上是此函数的一个去掉Z轴坐标的简化版,而glOrtho包括的参数 nearVal,farVal表示此矩形的前,后两面,超出此矩形范围的图形将会被裁掉。

  《OpenGL Programming Guide》:

    glOrtho — multiply the current matrix with an orthographic matrix
    C Specification
    void glOrtho(    GLdouble      left,
         GLdouble      right,
         GLdouble      bottom,
         GLdouble      top,
         GLdouble      nearVal,
         GLdouble      farVal);
    Parameters
    left, right
                            Specify the coordinates for the left and right vertical clipping planes.
    bottom, top
                            Specify the coordinates for the bottom and top horizontal clipping planes.
    nearVal, farVal
                            Specify the distances to the nearer and farther depth clipping planes.
                            These values are negative if the plane is to be behind the viewer.

上一篇: Win32 OpenGL编程(5)顶点数组详细介绍
下一篇: Win32 OpenGL编程(6) 踏入3D世界

1 2 3 4 5 下一页

关于我们 | 联系我们 | 加入我们 | 广告服务 | 投诉意见 | 网站导航
Copyright © 2000-2011 21tx.com, All Rights Reserved.
晨新科技 版权所有 Created by TXSite.net