比如我已经编写好了一个绘制飞机左翼的程序。我想调用它绘制右翼。
我设法先进行反转变换再调用绘制左翼的程序从而绘制出飞机右翼的程序。可是找了半天也找不到OpenGL中的反转变换这个命令。我该怎么办?
难道用glRotatef?好象不行吧!事实上我感觉左翼无论怎样glRotatef都不可能得到右翼啊?

解决方案 »

  1.   

    你可以准备一个镜像变换矩阵,然后和OpenGL当前矩阵相乘,然后用 glLoadMatrix 调入你的矩阵。这样就可以在OpenGL里面实现镜像变换了
      

  2.   

    难道用glRotatef?好象不行吧.
    旋转是可以的啊。
      

  3.   

    做镜像之后,坐标系的手性发生改变,但是rotate不改变坐标系的手性,所以rotate是办不到的。============================================================================
    提问题时标题要简明扼要地说明问题内容,切忌使用"急","求救"之类不能说明问题的标题
    做了个计数器,从 0 开始计数 :-) 多谢捧场
    http://alphasun.betajin.com/   遇到问题可以给我发消息,给我发信息时请附带原帖地址
    DocWizard C++程序文档自动生成工具 | Wave OpenGL | HttpProxy | AjaxParser词法分析
      

  4.   

    HongHuer(笑看人生):
      你玩过俄罗斯方块吗?一个适合插入‘1___’形状的物快的地方,无论你怎样旋转‘___1’形状的物快都不可能很好地插入。所以旋转变换是不能代替镜象变换的。
      

  5.   

    Researcher(游戏人) :佩服佩服
      

  6.   

    to researcher:抱歉,我没有玩过,
    我是说楼主的问题是可以使用旋转来完成的。如果左右两边的模型不太一样的话,如果不能使用旋转来完成的话,就是我说错了。不好意思。
      

  7.   

    alphapaopao(炮炮):谢谢!
    您的意思是先乘以矩阵
    -1  0  0  0
     0  1  0  0
     0  0  1  0
     0  0  0  0
    再经过适当的glRotatef变换之后
    再调用绘制左翼的过程,就可得到右翼的绘制效果是吗?