【问题标题】:Approach to create complex 3D drawings in OpenGL ES (on Android)?在 OpenGL ES(在 Android 上)中创建复杂 3D 绘图的方法?
【发布时间】:2011-02-27 04:56:58
【问题描述】:

我是 opengl-es 的新手,我想知道人们如何能够绘制这些非常详细的 OpenGL ES 图形,例如在安卓操作系统上。绘制一个正方形已经很困难了,因为它是由三角形组成的,因为 OpenGL ES 显然不能绘制除三角形以外的任何东西。 我想到了这种方法:

  • 在 Blender 中绘制和渲染对象。
  • 以某种方式将其导出为顶点数组和颜色数组
  • 将此顶点数组复制到 Java 代码中
  • 运行代码

或者有没有更好的方法来解决这些问题?我不认为人们只是将他们的图形“绘制”为代码中的顶点数组。我确定他们会在其他任何地方绘制它们并将其导入代码中。 如果 Blender 有这样的解决方案,我很高兴知道这是如何解决的。

问候。

【问题讨论】:

    标签: java android opengl-es 3d blender


    【解决方案1】:

    您可以从 Blender 中保存您的模型,例如作为 Wavefront OBJ 文件。在 Blender 中,您还可以选择为您的模型进行三角剖分,这将产生一个仅包含三角形的列表,可供绘制。 OBJ 是一种非常简单的格式,它只是以 ASCII 格式列出每个顶点的位置以及哪些顶点属于每个三角形。要么将 OBJ 转换为特定于您的应用程序的格式(例如,可以直接加载到 OpenGL 的二进制缓冲区),要么找到众多 OBJ 加载器之一,或者编写自己的阅读器。

    还有很多其他常见格式可用,您应该看看它们,看看是否有适用于 Android 的导入器。

    【讨论】:

      【解决方案2】:

      我发现您可以使用以下方法将带有 min3D 的 3D 模型直接加载到您的程序中:

      min3d

      我希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-07
        • 1970-01-01
        • 1970-01-01
        • 2011-08-14
        • 2011-06-26
        • 2012-08-02
        • 1970-01-01
        相关资源
        最近更新 更多