我将如何在Visual Studio 2012中启动OpenGL项目?
我在Visual Studio 2012中创建了一个空白的C++项目,我想创建一个pong游戏,以便掌握OpenGL的工作原理。我将如何在Visual Studio 2012中启动OpenGL项目?
在我的项目中有四个目录,外部依赖项,头文件,资源文件和源文件。任何人都可以指向相关的最新资源,详细介绍如何实现OpenGL的初始设置和基本方法?
从理论上讲,您不需要其他任何东西,就可以开始使用了。但是,基本的窗口设置并不那么容易(一旦你知道基本的窗口,它就会重复使用,但仍然很“乏味”)。因此,大多数人会推荐你使用GLUT,它本质上是一个小型的图书馆项目,为你处理最常见的平台相关的东西(如:窗口创建,输入处理等)。有quite a list of alternatives/implementations,每个人似乎都有自己的最爱。
但是,我建议使用SFML来代替。它是一个更大的图书馆,但同时它也更先进(如果你了解基础知识并希望有一个更受管理的图书馆)。虽然它包含了自己的绘图类,但仍然可以将其用于创建窗口,然后在原始OpenGL中使用自己的自定义绘图代码。到目前为止,基于SFML的程序可以针对Windows,Mac和Unix进行编译,Android和iOS端口处于测试阶段。与使用GLU相比,最小代码有点长,但它可能更易于理解/阅读,特别是如果您还没有深入回调。
只是一个简单的例子:
#include <SFML/Graphics.hpp>
int main (int argc, char **argv) {
sf::RenderWindow window(sf::VideoMode(640, 480), "OpenGL Test", sf::Style::Close | sf::Style::Titlebar);
// Your own custom OpenGL setup calls here
// There's no additional code needed, unless you want to mix SFML drawing and raw OpenGL
sf::Event e;
while (window.isOpen()) { // This is the program's main loop
while (window.pollEvent(e)) { // Event handling
switch (e.Type) {
case sf::Event::Closed:
mWindow.close();
break;
}
}
window.clear(); // Clear the buffer
// Your own custom OpenGL drawing calls here
// There's no additional code needed, unless you want to mix SFML drawing and raw OpenGL
window.display(); // Update window contents
}
return 0;
}
谢谢你的帮助,我认为生病坚持GLUT方法为这一个,也许提前到SFML为下一次尝试,我如何使用GLUT与视觉工作室2012 –
至于GLFW(和大多数GLUT变体),只需按照上面的链接来获取ZIP档案中的源文件或通过存储库(如GitHub)获取源文件。解压缩所有内容并按照自述文件(在GLFW的情况下,您需要[CMake](http://www.cmake.org/),然后创建MSVC项目以允许您编译库)要实际使用它,我只需要包含正确的头文件(根据教程)并链接库。 – Mario
我在GLUT文件夹中跟着自述文件,但它导致我死路一条。它说'glut32.lib到$(MSDevDir)\ .. \ .. \ VC98 \ lib和'。这是没有VC98目录,其他来源只是说它的VC,但我无法找到任何地方.. –
查看http://nehe.gamedev.net/,并从第01课开始。 –
在发布此问题之前,您应该对答案进行更多研究。 Google在这方面有很多数据。 –
我做过研究,但正如我所说的,我遇到的很多材料都是过时的或与另一片相矛盾的。这是一个知识共享网站,不是吗?为什么我不能在这里发帖寻求直接从马口中获取知识。 –