【问题标题】:OpenGL: Flipping an ItemOpenGL:翻转项目
【发布时间】:2016-01-22 08:34:40
【问题描述】:

我创建了一个“Polyman”和一个“Polywoman”。 Polyman 从右侧走到屏幕中间,而 Polywoman 从左侧走到屏幕中间。

我对 polyman 和 polywoman 使用了所有相同的点,包括脚,这意味着 polywoman 的脚指向错误的方向,有没有办法我可以简单地将 polywoman 在 z 轴上翻转 180% 以使她的脚指向右侧方向,还是我注定要创造她自己的脚?

我知道创造新的脚不会花很长时间,但是获得如何翻转图标的知识将大大提高我在未来任务中的能力。

【问题讨论】:

  • 显示一些代码,尤其是你如何画女人。但总的来说:是的,在 OpenGL 中绝对可以翻转某些东西(因为这只是 -1 的缩放)。

标签: c++ opengl rotation translation flip


【解决方案1】:

假设(根据您的标题)您正在使用原始 OpenGL,只需在绘制 PolyWoman 时使用不同的模型矩阵,该模型矩阵在 x 方向上以 -1 因子缩放她;

【讨论】:

  • 不可能这么简单吧?我忘记了,最好是平移、旋转然后缩放吗?还是平移、缩放、然后旋转?
  • 你的意思是在世界空间中放置一个对象吗?如果我没记错的话:首先缩放,然后旋转,然后平移。但我建议你尝试一下,如果它不起作用就改变它。请记住,如果您想将这些变换表示为矩阵并通过将它们相乘将它们组合成一个矩阵,则乘法的顺序是相反的。所以modelMatrix = translateMat * rotateMat * scaleMat 会先缩放,然后旋转,再平移。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多