【问题标题】:Implementing a scene graph on OpenGL ES 2.0在 OpenGL ES 2.0 上实现场景图
【发布时间】:2011-07-05 21:08:39
【问题描述】:

我正在寻找一种在没有固定功能管道的 OpenGL ES 2.0 中实现一些基本场景管理的方法。

通常我会实现一个 Node 基类,该基类将使用 glTranslateglRotate 应用其转换,绘制自身(如果有要绘制的内容),然后调用其子节点的 draw 方法。

有人有使用 OpenGL ES 2.0(或 OpenGL 3.0)实现的示例吗?

【问题讨论】:

    标签: opengl-es transformation opengl-es-2.0 scene scenegraph


    【解决方案1】:

    主要区别在于,您无需调用 glRotate、glTranslate、glScale 等,而是自己构建转换矩阵,可能还需要一些转换层次结构。然后,在渲染相关对象之前,通过 Uniform 提供其变换矩阵。

    为此所需的代码非常简单,只是一堆关于 4 个向量和 4×4 矩阵的线性代数——如果你想使用它们,还有四元数。

    【讨论】:

    • 很抱歉坚持做菜鸟 :) 那么我的问题是每个节点是否应该执行自己的绘图(并且有自己的着色器,这对我来说听起来不太好)还是应该有一个类负责场景中所有绘图和节点调用该类中的渲染方法?
    • 有趣的是你应该问。最近有人确实问过这个问题,请在此处查看我的答案:stackoverflow.com/questions/6583024/…
    • @datenwolf - 这是一个与我在这里问的问题类似的问题:stackoverflow.com/questions/14720111/…。你能看一下吗?我想我正在寻找这种解释,也许通过一些代码帮助可以更明确一些。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多