openGL 绘制的三维模型怎么让其绕自身旋转

YXLYY 2015-05-07 09:31:09

我的控制窗口变化的函数内容大致是这样的

      glViewport(0, 0, s.Width, s.Height);
       GL.glMatrixMode(GL.GL_PROJECTION);
       GL.glLoadIdentity();
       GL.glOrtho(0.0, 250.0 * aspect_ratio, 0.0, 250.0, 1.0, 250.0);//我用的正射投影
        GL.glMatrixMode(GL.GL_MODELVIEW);
    GL.glLoadIdentity();
我的绘制函数
    glClearColor(0.1f, 0.1f, 0.2f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glShadeModel(GL_SMOOTH);
GL. glLoadIdentity();//重新定位坐标系
   for(;;)
    {
绘制了三角形
     }
GL.glFlush();




三角形都是我从一个txt中读取,每个顶点x,y, z都是大于0的数字


采用正射投影刚好能看到这个模型,采用透视投影就看不到了,还有就是怎么才可以让我的模型让自己旋转呢而不是绕x,y,z轴旋转呢在绘制的时候用不用修改我用从txt中读取的顶点值呢



...全文
1772 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
king422212809 2015-10-27
  • 打赏
  • 举报
回复
你是怎么做到模型绕自身X,Y,Z轴旋转的? 我还在困扰中
YXLYY 2015-05-08
  • 打赏
  • 举报
回复
引用 4 楼 fly_dragon_fly 的回复:
算出旋转中心(x,y,z) , translate(x,y,z) * rotate() * translate(-x,-y,-z)
谢谢了哈,问题解决了哈
fly_dragon_fly 2015-05-08
  • 打赏
  • 举报
回复
算出旋转中心(x,y,z) , translate(x,y,z) * rotate() * translate(-x,-y,-z)
YXLYY 2015-05-08
  • 打赏
  • 举报
回复
没有人回答吗
YXLYY 2015-05-07
  • 打赏
  • 举报
回复
真的不知道清楚,以前做的东西,现在要用,openGL 忘了不少了,一会旋转函数就是绕这屏幕乱转

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧