【问题标题】:OpenGL texturingOpenGL 纹理
【发布时间】:2011-05-19 14:59:26
【问题描述】:

很抱歉请求帮助,但我很沮丧。

我不知道为什么,但我似乎从来没有能够让纹理在 OpenGL 中工作。我真的很感激一个最小的例子,只要它只使用 /gl.h /glu.h 和标准 C++ 库。任何其他见解将不胜感激。

很抱歉只是要求你为我编写一个完整的程序,但我真的可以使用它,因为我看到的每个互联网示例都使用 glut。不知为何编译不出来,很烦。

谢谢。

【问题讨论】:

  • 那么您的问题是您无法编译 glut,而不是需要有人手动为您编写一个不使用它的示例。
  • 什么操作系统?创建窗口是特定于平台的。
  • Windows,抱歉没有澄清
  • 我不能使用 GLUT 教程,因为我不想在我的程序中依赖 GLUT。
  • 好吧,纹理终于起作用了。感谢您的意见。

标签: c++ opengl texturing


【解决方案1】:

您需要一些库或接口来创建 OpenGL 上下文(以及显示它的窗口)。

GLUT 已经过时,但仍然很受欢迎;现在不错的选择是 GLFW 或 SDL。我推荐 GLFW。

(顺便说一句,你为什么还需要编译 GLUT?它没有为 Windows 预编译的二进制文件吗?)

或者您可以使用系统特定的功能;在你的情况下 - WinAPI。然而,这是一个非常繁琐的过程;与只用一两行代码创建一个窗口并提供简单的输入处理的便携式解决方案大不相同。

一旦您的 GL 窗口启动并运行,您就可以从任何教程中学习纹理(或其他任何东西)。 OpenGL 调用将是相同的,与如何创建窗口无关。

【讨论】:

  • 再次尝试。它只是行不通。我只需要继续努力。
  • 嗯。尝试获取 GLFW 并运行任何空的 GLFW 程序 - user's guide 有一个简单的 Hello World 代码。如果可行,您可以继续学习纹理等;如果不是,请描述一个具体问题,我们会看看有什么问题。
【解决方案2】:

您需要一个窗口管理器来创建一个窗口,您将为其创建一个上下文,您可以在其中渲染您的图像。使用标准 c++ 无法做到这一点。

目前尚不清楚您针对的是哪个操作系统,但有跨平台框架,例如 GLUT、SDL 等。如果您在 linux 上,您也可以使用 xlib 来实现。

【讨论】:

    【解决方案3】:

    这是一个很好的教程:

    http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=06

    此代码不使用 glut。

    【讨论】:

    • 否,但它使用 GLaux 库:/
    • 那是真的,我真的不能用它。它太旧了。 (Glaux,不是教程)
    • @Alexander 如果您已经成功创建了 OpenGL 渲染上下文,那么本教程对于移植应该很简单。
    • 我尝试过很多次,但都失败了。我似乎永远都做不好。希望我能解决所有问题。
    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 2010-09-17
    • 2012-12-17
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多