我在Visual 2012中创建了一个空白的c++项目,我想创建一个乒乓游戏来了解OpenGL的工作原理。
在我的项目中有四个目录,外部依赖关系,头文件,资源文件和源文件。有人能告诉我相关的最新资源,这些资源详细介绍了如何实现OpenGL的初始设置和基本方法吗?
发布于 2013-12-12 10:52:44
理论上说,你不需要别的什么了,你已经准备好了。然而,基本窗口设置并不那么容易(一旦您了解基本窗口,它就会重复,但仍然是“乏味的”)。
因此,大多数人会推荐您使用GLUT,它本质上是一个处理最常见的平台依赖的东西的小型库项目(read:创建窗口、输入处理等)。为了你。这里有相当多的备选方案/实现,每个人似乎都有自己的最爱。
但是,我建议改用SFML。它是一个更大的库,但同时它也更高级(如果您了解基本知识并想要一个更受管理的库)。虽然它包含自己的绘图类,但仍然可以仅用于创建窗口,然后在原始OpenGL中使用您自己的自定义绘图代码。到目前为止,基于SFML的程序可以在Windows、Mac和Unix上编译,而Android和iOS端口处于beta状态。与使用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;
}发布于 2013-12-12 10:40:23
一种简单的方法是下载并安装GLFW和格鲁。安装这两个目录,并将包含目录和库目录安装到这两个已安装的apis (右键单击项目->属性、->VS++目录、->appends路径以包含和库)。您很好,只需根据这文档包含并设置上下文即可。GLFW处理所有的窗口创建和上下文处理,GLEW绑定所有您拥有的调用(例如: glClear、glBein等)以便能够使用它们。GLEW很容易使用,只需调用glewInit()
发布于 2013-12-12 14:56:30
对于OpenGL游戏开发,最简单的解决方案是使用包装器,如SFML或新的SDL2,它将处理窗口管理的丑陋细节,并允许您自由地试验OpenGL。
您还可以使用GLee轻松导入所需的OpenGL扩展。
https://stackoverflow.com/questions/20541057
复制相似问题