【问题标题】:Quick OpenGL - Build a House and an eyeQuick OpenGL - 建造房子和眼睛
【发布时间】:2011-06-22 15:02:10
【问题描述】:

我对 OpenGL/Glut 的编码知识非常有限。我应该盖房子和眨眼。现在我用谷歌搜索并尝试了“快速解决方案”,但我找不到。我想要一个快节奏的教程来让我了解高级概念。请帮助我获得那种教程。介绍和解释很少,但概念很先进。另外,如果有我可以学习的代码,我将不胜感激。

我对 C/C++ 和小 OpenGL 很满意

【问题讨论】:

    标签: opengl


    【解决方案1】:

    快速解决方案是:在 3D 建模器(如 Blender)中为房屋和眼睛建模。将网格和索引数组导出到 C 数组中。编写代码以将网格加载到顶点数组/顶点缓冲区对象和绑定顶点数组并在索引数组上调用 glDrawElements 的绘制事件处理函数。

    通过从两个网格构建眼睑来实现眨眼,这两个网格可以围绕某个轴旋转,使其看起来像眨眼。

    OpenGL 只是一个绘图 API。它没有建模功能。它只是将三角形推到屏幕上。任何“编写模型代码”的家庭作业都是错误的,分发作业的人对此一无所知。

    【讨论】:

    • 太棒了!但是作为 OGL 的初学者,我无法理解你所说的网格是什么意思。我也不知道如何在 Blender 中建模。任何关于这些事情的快速入门教程都值得赞赏。感谢您指出这一点!
    • 一个网格是一个顶点数组和一个索引三元组/四元组的列表,它们形成一个由顶点组成的三角形和/或四边形网格。
    • datenwolf,引用关于 GLU 的维基百科,他们说“GLU 是一个计算机图形库。它由许多函数组成,这些函数使用基本的 OpenGL 库从更原始的例程中提供更高级别的绘图例程, “这是否意味着我可以以某种方式使用 GLU 来执行您上面描述的操作,或者我只是误解了整个事情?
    • @Stefano:嗯,原则上和耐心是的。但是 GLU 已经过时了,以至于它的气味令人难以忍受。 GLU 只提供非常非常基本的形状,例如球体或圆锥体。 NURBS 补丁可以用于眼睛,但您仍然需要对它们进行建模,因为“编码”NURBS 肯定会导致精神错乱。
    • 好吧,我决定我会去 Blender 和 OGL。我刚刚搜索了一下,发现要导出的文件格式存在问题。我想听听您对哪种文件格式最简单的意见。感谢您的宝贵贡献
    【解决方案2】:

    对于一些并非完全过时的 OpenGL 教程,请尝试:

    This question here on SO 也可能有帮助。

    【讨论】:

    • 不幸的是 arcsynthesis.org 教程还没有完成。
    • 没错,但我觉得它仍然值得一些宣传,如果只是因为它真的帮助了我作为一个想要学习现代 OpenGL 的初学者!我希望它能够完成,因为它是迄今为止我读过的最好的 OpenGL 资源之一,其中包括 Superbible 和 Orange book 的最新版本。
    • Bethor,我特别喜欢 opengl-tutorial 中的那个,因为我可以下载甚至离线阅读 :)
    【解决方案3】:

    如果您想要一个很棒的 OpenGL 编程速成课程,请阅读http://nehe.gamedev.net/ 上的教程。

    【讨论】:

    • Nehe 严重过时,严重(如果不是完全)依赖于 OpenGL 3 中已弃用的功能。
    • 谢谢戴夫,我在某处读到这些教程已经过时了。我会检查,但我想确保它们至少适用,然后我浪费时间并发现它们没用。只是保证。再次感谢!
    • 澄清一下,如果您需要学习“旧方法”(即固定功能管道,以便与现在相对古老的硬件兼容),Nehe 可能是标准方法。但是,作为对任何现代 3D 引擎如何工作的介绍,它已经过时,可能对您的伤害大于帮助。
    • @Bethor 我没有意识到这一点。自从我完成任何 OpenGL 以来已经有一段时间了。我只记得这是一个很好的资源。可惜它已经过时了......
    猜你喜欢
    • 2020-08-15
    • 2014-12-21
    • 2012-03-14
    • 1970-01-01
    • 2012-02-19
    • 2012-03-20
    • 2012-08-27
    • 2015-05-02
    • 2017-01-11
    相关资源
    最近更新 更多