2013-12-12 4 views
1

У меня есть пустой проект C++, созданный в Visual Studio 2012, я хочу создать игру в понг, чтобы понять, как работает OpenGL.Как начать проект OpenGL в visual studio 2012?

В моем проекте есть четыре каталога, внешние зависимости, файлы заголовков, файлы ресурсов и исходные файлы. Может ли кто-нибудь указать мне соответствующие актуальные ресурсы, которые подробно описывают первоначальную настройку и основные методы реализации OpenGL?

+0

Проверьте http://nehe.gamedev.net/, и начните с урока 01. –

+0

Вы должны были исследовать больше для ответа, прежде чем публиковать этот вопрос здесь. В Google есть тонны данных по этому вопросу. –

+0

Я занимался исследованиями, но, как я уже сказал, много материала, с которым я столкнулся, устарел или противоречил другому. Это сайт обмена знаниями, нет? Почему я не могу писать здесь, прося знания прямо из уст лошадей. –

ответ

1

Теоретически вам ничего не понадобится, и вы готовы к работе. Тем не менее, настройка базового окна не так проста (она становится повторяющейся, как только вы знаете основную, но все же «утомительную»).

Таким образом, большинство людей порекомендует вам использовать 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; 
} 
+0

Спасибо за вашу помощь, я думаю, что плохо придерживаюсь метода GLUT для этого и, возможно, продвигается к SFML для следующей попытки, как использовать GLUT с визуальной студией 2012 –

+0

Что касается GLFW (и большинства вариантов GLUT), просто следуйте ссылку для получения исходных файлов в ZIP-архиве или через репозиторий (например, GitHub). Распакуйте все и следуйте readme (в случае GLFW вам понадобится [CMake] (http://www.cmake.org/), который затем создаст проекты MSVC, позволяющие вам скомпилировать библиотеку. Чтобы на самом деле ее использовать, вы просто нужно включить правильный заголовок (согласно учебникам) и связать библиотеку. – Mario

+0

Я следил за readme в папке GLUT, но это привело меня в тупик.он говорит 'glut32.lib $ (MSDevDir) \ .. \ .. \ VC98 \ lib и'. Это не каталог VC98, другие источники просто говорят его VC, но я не могу найти его нигде. –

0

Один из способов сделать это легко можно загрузить и установить GLFW и GLEW. Установите оба варианта и настройте свой проект с помощью каталогов include и lib для этих двух установленных apis (щелкните правой кнопкой мыши ваш проект -> Свойства -> Каталоги VS ++ -> добавьте пути для включения и библиотеки). Вам хорошо идти, вам просто нужно включить и настроить контекст в соответствии с документацией this. GLFW обрабатывает все создание окон и обработку контекста, а GLEW связывает все ваши вызовы (например: glClear, glBein и т. Д.), Чтобы использовать их. GLEW прост в использовании, просто позвоните glewInit()

0

Самое простое решение для разработки игр OpenGL, будет использовать обертку, как SFML или новый SDL2 который будет обрабатывать уродливые детали управления окном и пусть вас экспериментировать с OpenGL свободно.

Вы также можете использовать GLee, чтобы легко импортировать расширения OpenGL, в которых вы нуждаетесь.

Смежные вопросы