在openGLnGL中选择性地旋转2d对象

时间:2011-02-09 10:11:04

标签: opengl

我是openGl的新手。到目前为止,我研究了如何绘制基本形状以及如何旋转它们等。

我想要创建一个应用程序,其中将有一个半圆形表盘和一个将在其上连续旋转的时钟指针。 (可能是0-180度,然后回来)。

我该如何解决?

可能有几种方法可以做到这一点,但考虑到我正在努力构建的更广泛的图景,这将是最好的方法。

  1. 用户将创建图层。在上面的例子中,圆形表盘是背景层。时钟指针将成为前景层。

  2. 有些图层是静态的,这意味着它们永远不会移动。

  3. 图层移动将由用户提供(可能在配置文件中)。在上面的示例中,用户将提供(时钟指针层的一些点和角度范围,并且该层将在所提供的点周围的该范围内旋转)。

  4. 请建议如何实现这一目标。由于我只使用2D对象,我想知道每个图层是否可以是沿z轴等的平面。

1 个答案:

答案 0 :(得分:3)

OpenGL不是场景图。它更像是铅笔,刷子,染料和面具。编程OpenGL意味着将场景分解为创建所需图片所需的绘图步骤。所以在你的情况下,就像使用Painter's Algorithm按顺序绘制一样简单

  1. 转盘
  2. 第一手
  3. 二手
  4. thrird hand
  5. 在OpenGL中没有像“平面”原语这样的东西。只有点(精灵),线条,三角形和四边形;在某种程度上多边形,但严重受限。可以将颜色和纹理应用于这些基元,并进行矢量数学模拟照明。