Я вновь не новичок в программировании на C++, кто-нибудь может рассказать мне, как полезен SDK Direct-X и как он работает и как мы можем использовать его в игровом программировании. Я загрузил его и я нашел много заголовочных файлов, а документация также рассказывает о программировании игр.Direct-X в программировании на C++
ответ
DirectX - это библиотека (большая коллекция классов, на самом деле), которая позволяет «разговаривать» с видеоадаптером, звуковой картой, клавиатурой, мышью, джойстиком и т. Д. Это позволяет сделать это намного эффективнее, чем другие «стандартные» функции Windows. Это важно, потому что игры нуждаются во всей производительности, которую вы можете получить, и DirectX может предложить в этом отношении много возможностей. Особенно, когда речь заходит о графическом программировании, потому что у него есть функции, которые позволяют использовать функции 3D-ускорения вашей видеокарты. У Windows эти функции по умолчанию отсутствуют.
с поддержкой DirectX SDK содержит:
- документации для всех функций DirectX;
- Учебники на языке C++, чтобы вы начали, если ничего не знаете;
- Примеры приложений;
- Необходимые файлы .h и .lib для добавления поддержки DirectX в вашу программу;
- Отладочная версия DirectX (я думаю, я не так уверен в этом)
- Редикс DirectX, который вы можете включить в свои собственные программы.
Если вы не справитесь с C++, то начать с разработки DirectX будет довольно сложно, так как любая из этих вещей имеет довольно большую кривую обучения.
Btw - вы загрузили последнюю версию с веб-страницы Microsoft, а не 5-летнюю копию какого-либо веб-парня, не так ли?
Это все правда, но все же я думаю, что он, скорее всего, будет лучше, не изобретая колесо, но используя готовый двигатель, как предположил мизипзор. –
Правда, но использование его напрямую было бы весьма образовательным. :) –
Я не совсем уверен, что вы просите, но Frank Luna's book на DirectX - очень хорошее введение.
Но если вы относительный новичок на C++, DirectX может быть слишком низким для того, что вы ищете. Я имею в виду, вы хотите создать красочный вращающийся куб, или вы хотите сделать полузаполненную игру? Предполагая последнее, вы, вероятно, хотите создать фреймворк, который абстрагирует детали низкого уровня как DirectX, так и OpenGL. Для этого я могу сердечно порекомендовать Ogre 3D. Только учебные пособия помогут вам начать работу, прежде чем вы это узнаете.
Ваш вопрос путь широк. DirectX может помочь вам создавать игры по-разному, что вы можете (учитывая, что вы новичок) себе.
Рендеринг (помещение материала на экран), ввод (реагирование на то, что происходит с пользовательской мышью/клавиатурой), сеть (для многопользовательской), чтение файлов, шрифтов, 3D-моделей, звук. Назвать несколько.
Я настоятельно рекомендую вам не пытаться писать что-то непосредственно, используя DirectX. Получение чего-то хорошего из этого - чрезвычайно сложная задача. Dont reinvent the wheel unless you plan to learn more about wheels. (колесо здесь - DirectX.)
Если вы просто хотите, чтобы встать и работает, и сделать Мир Warcraft 2, я предлагаю вам использовать Premade реализации DirectX (обычно называемые игровые движки), такие как Ogre, Irrlicht или HGE (проще, но только для 2D-игр) ,
Удачи, не сдавайся и не возвращайся позже с первым реальным вопросом. :)
Мантра, которую я всегда слышал о развитии инди: вы можете либо построить игру, либо двигатель не так, как оба. –
Что касается мантры, я больше не могу согласиться. У меня возникло соблазн опубликовать его, но я боялся, что просто написать такую строчку и перейти можно было бы немного самоуверенно. – Mizipzor
Я хотел бы добавить, что «игровое программирование» не требует графического программирования. DirectX, как и OpenGL, обеспечивает основу для создания графического приложения; но, как уже упоминалось, это очень низкий уровень.
Как профессиональный разработчик игр, я бы не предложил просто прыгать в DirectX после изучения C++. Это трудная задача, которая будет двигаться медленно и обеспечит вам небольшую мотивацию для продолжения. Это определенно нужно помнить о вашем будущем; но на данный момент было бы более полезно сыграть с чем-то полным, возможно, начать с программирования геймплея.
Примечание: Помимо навыков C++ вам также понадобятся некоторые математические таланты. Основной проблемой являются линейная алгебра и тригонометрия.
Проверьте легкий двигатель, как Angel. Это довольно интуитивная отправная точка и достаточно маленькая, чтобы вы могли полностью понять, что происходит внутри нее.
Как всегда, сначала попробуйте сделать небольшие изменения и проекты для себя, а затем перейдите к более крупным и более сложным задачам!
Удачи вам!
- 1. Структуры в программировании на C
- 2. Графика в программировании на C
- 3. Ошибка в программировании на C#
- 4. Программирование DirectX в C?
- 5. Об декларативном программировании на C++
- 6. C++ в пакетном программировании
- 7. память в c программировании
- 8. Реализация strdup() в программировании на C
- 9. Управление потоками в программировании на языке C#
- 10. Встроенный Python в программировании сокетов на C++
- 11. Что означает (int) в программировании на C
- 12. rand() проблема в программировании на языке C?
- 13. Как обновить TTL в программировании на C?
- 14. Loop не работает в программировании на C
- 15. Что такое «|» означает в программировании на C#?
- 16. Избавление от || или в программировании на C
- 17. Массив буферов в программировании на языке C?
- 18. Как сделать цикл в программировании на C#?
- 19. Распечатка st_uid в программировании на языке C
- 20. Сравнение строк в программировании на C
- 21. ошибка сегментации в программировании на языке C
- 22. Проверка целостности в программировании на C
- 23. Векторный класс в программировании на C++
- 24. Рисование 3D-куба в программировании на C
- 25. Использование указателей в программировании на языке C?
- 26. access Указатели в программировании на языке C
- 27. Сортировка массива в программировании на языке C
- 28. База данных в программировании на C#
- 29. Ошибка Runtime в программировании на C :(
- 30. Ошибка связанного списка в программировании на C
Возможный дубликат: http://stackoverflow.com/questions/1451973/good-books-or-tutorials-for-beginning-direct-x-with-c –
Вы хотите получить больше опыта работы с C++, так что isn ' t просто куча файлов заголовков, но имеет смысл. Почему бы не написать текстовую игру, чтобы вы могли понять, как писать игру, а затем посмотреть на сложности графики. –