OpenGL纹理映射

4

很抱歉需要求助,但我感到很沮丧。

我不知道为什么,在OpenGL中我似乎从来没有能够让纹理起作用。如果您能提供一个最小化的示例程序,只使用/gl.h /glu.h和标准C++库,我将非常感激。任何其他见解也将不胜感激。

很抱歉只是要求您为我编写整个程序,但我真的需要它,因为我看到的每个互联网示例都使用glut。由于某种原因,我无法编译它,这真的很烦人。

谢谢。


那么你的问题在于无法编译glut,而不是需要有人为你手动编写一个不使用它的示例。 - Marcelo Cantos
什么操作系统?创建窗口是特定于平台的。 - Alex Budovski
Windows,很抱歉没有澄清。 - Alexander Rafferty
我不能使用GLUT教程,因为我不想在我的程序中依赖GLUT。 - Alexander Rafferty
纹理终于可以工作了。感谢您的建议。 - Alexander Rafferty
3个回答

4

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

GLUT已经过时,但仍然很受欢迎;现在的好选择是GLFW或SDL。我建议使用GLFW。

(顺便问一下,为什么您甚至需要编译GLUT?它没有预编译的Windows二进制文件吗?)

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

一旦您的GL窗口运行起来,您可以从任何教程中学习纹理(或其他任何东西)OpenGL调用将是相同的,不管窗口是如何创建的。


再试了,还是不行。我得继续尝试。 - Alexander Rafferty
嗯,尝试获取GLFW并运行任何空的GLFW程序 - 用户指南中有一个简单的Hello World代码。如果可以正常运行,您可以继续学习纹理等内容;如果无法正常运行,请描述具体问题,我们将查看问题所在。 - Kos

1

不是,但它使用GLaux库:/ - sum1stolemyname
那是真的,我确实不能使用那个。它太旧了。(指的是Glaux,而不是教程) - Alexander Rafferty
@Alexander 如果您已经成功创建了OpenGL渲染上下文,那么这个教程应该很容易移植。 - Andreas Brinck
我尝试过很多次,但都失败了。似乎我永远无法做对。希望我最终能够弄清楚一切。 - Alexander Rafferty

1

你需要一个窗口管理器来创建一个窗口,然后创建一个上下文,在这个上下文中你可以渲染你的图像。使用标准的C++是无法实现这一点的。

不清楚你的目标操作系统是什么,但有一些跨平台的框架,如GLUT、SDL等。如果你在Linux上,也可以使用xlib来实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接