2009-11-14 3 views
4

Я из .net C# фона и хочу узнать DirectX. Я знаю C++, но я довольно новичок в графическом мире.Предварительное условие для обучения directx

Я немного смущен о том, как начать изучать directx, следует ли начать прямое обучение напрямую или купить базовую графическую книгу, такую ​​как hern and baker, а затем перейти к directx.

Какая рекомендуемая книга для изучения основных графических концепций, это герн и пекарь? Есть ли какая-либо книга directx, которая будет охватывать и графические концепции?

Я думаю, что сохранение основной графической книги всегда находится хорошо, потому что я могу использовать его в качестве ссылки в любое время

Любые предложения от экспертов здесь?

+0

Этот вопрос удален. – Signcodeindie

+0

Удалено, спасибо. –

ответ

9

Вы говорите, что у вас есть фон C#, поэтому я собираюсь предположить, что вам удобнее C#, а затем C++. Кроме того, вы говорите, что у вас есть знание C++, поэтому я предполагаю, что у вас уже есть понимание управления памятью.

Если вы просто хотите учиться и стать более комфортным с графическим конвейером, вы должны проверить SlimDX и XNA. Они оба позволяют использовать DirectX без необходимости погружения в C/C++.

Что касается того, следует ли сначала изучить теорию или API, я не думаю, что вы должны сначала сделать это. Имеет смысл изучать их асинхронно. Возьмите книгу по теории, но общайтесь с API одновременно.

Я настоятельно рекомендую XNA. Люди обычно говорят, что вам следует придерживаться C++, если вы хотите разрабатывать игры, но я не знаю, категорически против. XNA позволит вам учиться более высоким игровым концепциям за меньшее время, чем если бы вы использовали только C++ и DirectX. Вы сможете сосредоточиться на изучении того, почему вы что-то делаете, а не как управлять памятью. Если в будущем вы решите, что разработка игры является серьезной страстью, то, во всяком случае, C++ - это путь. Вы обнаружите, что графический конвейер XNA тесно связан с DirectX 9 и вряд ли переместится на C++.

Кроме того, DirectX 9 должен быть достаточно хорош для любого новичка, и это даст вам лучшее представление о том, как и почему все изменилось в 10 и 11. Однако, если вы действительно хотите использовать новейшие технологии, вы можете попробовать SlimDX, который является оболочкой C# для DirectX.


При всем этом сказал, XNA предлагает множество легко понять образцы, которые вы можете начать играть с их educational catalog page. Кроме того, ознакомьтесь с ziggyware (большая коллекция учебников xna).

Кроме того, есть много блогов, которые вы можете проверить. Многие из них имеют отличные учебные пособия.Вот некоторые с верхней части моей головы:


Наконец, вот 2 графика книга s, что я очень рекомендую (они довольно сложны и прослужит вам долгое время):

Они не связаны непосредственно с DirectX, а они охватывают теорию каждый разработчик графики должен знать. (от линейной алгебры к текстурному картированию до рендеринга volumetrix ...)

+0

Спасибо Арри за обмен. Я никогда не ожидал, что кто-то опубликует такой подробный ответ. Есть ли какая-либо книга directx, которую вы рекомендуете или мне нужно учиться, играя с API? – Signcodeindie

+0

Я бы не стал покупать DirectX или любую другую графическую книгу api. Вы обнаружите, что вы перерастаете большинство из них через неделю или две. Онлайн-уроки (http://www.directxtutorial.com/) должны быть достаточными, чтобы научить вас основам. Вы сами заберете остальное. Тем не менее, я настоятельно рекомендую вам получить одну или несколько книг по теории. Большинство книг по теории графики охватывают все необходимые основы, такие как конвейер рендеринга, линейная алгебра, векторное исчисление и т. Д. – zfedoran

+0

Вольфганг Энгель вчера опубликовал список своего блога (вы должны это проверить): http: // diaryofagraphicsprogrammer. blogspot.com/2009/11/you-want-to-be-graphics-programmer.html – zfedoran

1

Если у вас есть немного дополнительных денег, меня очень впечатлили графики графики DirectX от http://www.gameinstitute.com. Учебник, который они предоставляют, был очень хорош, как и другие книги DirectX, которые я видел. Первый модуль DirectX Graphics Я начинаю с небольшого математического обзора и некоторых трехмерных основ перед погружением в настройку и использование DirectX. К концу первого модуля вы создадите текстурированный рельеф местности и внутреннюю сцену.

В целом курсы не так дороги, если учесть, сколько книг по этой теме стоит. Я бы определенно рекомендовал проверить его!

+0

Является ли он онлайн-или классным? – Signcodeindie

+0

Это полностью онлайн. Они имеют еженедельные онлайн-собрания в классе, которые являются необязательными. У них есть полный учебник, который вы получаете в цифровой форме и, если хотите, в печатной форме. Они также имеют многочисленные лаборатории и полные образцы кода. Код тоже очень хорош. Люди, которые запускают GameInstitute, находятся в отрасли и знают, что они делают. Я бы предложил пойти на сайт и просто посмотреть вокруг и на некоторые из видео. – Casey

2

Ну, я должен не согласиться с вариантом C#. Если у вас нет крайнего срока, чтобы закончить игру, я рекомендую использовать язык, который вас больше всего учить. Работа с 3D-графикой - это много об управлении, поэтому, если вы его читаете, вы на самом деле не учитесь, а просто используете его, т.е. вам не только нужно управлять памятью, но и делать фактические вызовы рендеринга, а также изменять состояние устройства, многое из того, что вы никогда не узнаете, запустив более низкий уровень и применимый для других API, таких как OpenGL или для других устройств , Я думаю, что лучший способ узнать, как работает api, - это использовать api вместо набора вспомогательных библиотек. Вы можете использовать вспомогательные библиотеки, когда вам это действительно нужно (что вы можете найти в их версии на C++).

В DX SDK вы также можете найти Sample Browser с некоторыми примерами приложений с их документацией, и у вас есть утилита DirectX Utility Toolkit, которая содержит фреймворк и библиотеки для создания приложения DirectX, не беспокоясь о неприятных вещах устройства таких как перечисление и конфиг. Он также оснащен графическим интерфейсом и диалоговым окном настроек для конфигурации устройства. Я сомневаюсь, что вы можете найти их на C#, и они очень хороши, если вы хотите начать с DX.

Некоторые ресурсы, которые помогли мне, когда я начал было the zophusX tutorials

и книга под названием «Введение в 3D игры Программирование с DirectX 9.0c», Фрэнк Д. Луна (есть версия DX10 сейчас) и вероятно, программа программирования 3d-игр для книги 3d Stephan Zerbst также помогла мне понять некоторые вещи о том, как лучше работать с apis. Хотя вам, возможно, придется их купить, чтобы их прочитать. Они полезны для начала как с некоторой теорией, так и с использованием API одновременно.

Я думаю, что если ваша цель состоит в том, чтобы узнать, как сделать игру, вы можете использовать любой язык/библиотеку, которую хотите, даже не нужно знать язык программирования :), но если ваша цель изучает DirectX и графические API вы должны окончательно начать с C++ api, который является «фактическим» DX.

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