@Gerasimenko_99

Объясните: какую базу нужно иметь для изучения Dirext X [C++]?

Суть заключается в том, что я, более-менее, подтянул ООП(занимаюсь больше 8 месяцев (правда иногда выпадал)) и теперь думаю, что делать дальше: учить Win32 или (сам не знаю что). Все облазил, не могу понять как подвязан Direct X к WIN32. Также задумывался об Open GL.
Посоветуйте, что учить и может исправте меня, ведь могу думать не в том направлении!
Ну мое основное стремление Game Dev.
Расталкуйте что к чему!!!
  • Вопрос задан
  • 460 просмотров
Решения вопроса 1
TrueBers
@TrueBers
Гуглю за еду
Вам нужны знания графики. Понимания, как оно всё там работает под капотом. Без этого всего DirectX будет казаться чем-то космическим и непонятным. DirectX никак не завязан на чистый WinAPI. Он базируется на технологии COM. Это посложнее для понимания, чем WinAPI. Ну и, соответственно, это всё работает только на Windows.
OpenGL чуть проще, там чистое Сишное API. Можно писать для множества операционных систем, в том числе, для мобильных платформ.

Оба API используют конечный автомат для рендеринга, все состояния которого тоже нужно отлично понимать. У OpenGL, на мой взгляд, он более лёгок для понимания.
Но для всего этого вам нужно знать, что используется там под капотом. Бездумно искать строки кода и копипастить их к себе не получится. Нужно знать что делает каждая функция, какие состояния конечного автомата меняют, и т. п.

Если хотите начать учить всё это дело, советую начать с отличных статей на Хабре. Если вы осилите весь этот курс, то сможете писать хоть на OpenGL, хоть на DirectX, хоть на Unity/Unreal/CryEngine.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
RiseOfDeath
@RiseOfDeath
Диванный эксперт.
Однозначно матан - матрицы, операции над матрицами, всякие преобразования матриц и т.п. Это для любого 3D.

А так, строго говоря, для DirectX знать Win32 API не особо нужно. (ну некоторый минимум нужен, вам же надо как-то нарисовать окошко с вашей сценой).

А вообще, выбор OpenGL vs DirectX это фактически выбор между Винда+XBox или все (или множество) платформ.
Ответ написан
@koronabora
Человек
Конкретно DirectX нужен для понимания всех этапов рендеринга и подготовки к нему. Тоже самое касается и OpenGL. Win32 - сугубо скучная весчь, работу с которой все равно берет на себя любой нормальный движок.

Начните изучать и работать с любым движком, например CryEngine (благо его на Гитхаб выложили). Возьмите простой пример, изучите как что устроено, потом потихоньку меняйте его под себя. Так, постепенно, и обрастете пониманием.
Ответ написан
Комментировать
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
Линейная алгебра: вектора, матрицы, операции над ними. WinAPI вряд ли нужно, изучай лучше сразу directX или opengl. Ну и попробуй движки вроде Unreal Engine и Unity
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы