【问题标题】:Selectively rotating 2d objects in openGLnGL在 openGLnGL 中选择性地旋转 2d 对象
【发布时间】:2011-02-09 10:11:04
【问题描述】:

我对 openGl 完全陌生。到目前为止,我已经研究了如何绘制基本形状以及如何旋转它们等。

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

我该怎么做?

可能有几种方法可以做到这一点,但考虑到我正在尝试构建的更广泛的情况,最好的方法是什么。

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

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

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

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

【问题讨论】:

    标签: opengl


    【解决方案1】:

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

    1. 拨号
    2. 第一手
    3. 二手
    4. 第三手

    在 OpenGL 中没有像“平面”原语这样的东西。只有点(精灵)、线、三角形和四边形;并且在某种程度上是多边形,但受到严格限制。可以将颜色和纹理应用于这些图元,并进行矢量数学来模拟光照。

    【讨论】:

      猜你喜欢
      • 2015-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多