Что почитать про программирование 3D графики?

Заинтересовался этой темой недавно. Подскажите какие-нибудь книги или ресурсы для изучения. Желательно, чтобы с самых основ 3Д.
Понимаю, что тема довольно сложная, но всё-таки хочется разобраться.
  • Вопрос задан
  • 10352 просмотра
Решения вопроса 3
Почитайте цикл статей на Хабре https://habrahabr.ru/post/248153/
Там все основы алгоритмов рендеринга с нуля описываются.
Ответ написан
Комментировать
@syrov
пишу программы до 99 строк
Еще есть подход "что написать...". Так вот я бы еще предложил начасть с подобия smallpt. По окончанию написания такой программы на 100-200 строк вы будете знать основы векторной алгебры, тригонометрии и аналитической геометрии, теорию вероятности, расчет интегралов для построение математической модели освещения, что такое флакс, итд. Также ознакомитесь с OpenMP. Удачи.
Ответ написан
Комментировать
@Joysi75
Если с точки зрения программирования + математики + базовые алгоритмы (Гуро, Брезенхем, Фонг ...) то до сих пор актуальна Шикин Боресков компьютерная графика (pdf варианты в гугле легко ищутся). Если дружите с C++ - то вообще все шоколадно с этой книгой будет.
А как там подан рейтресинг... Всевозможные источники света, разные модели отражения-преломления, процедурные текстуры, имитация модели камеры с фокусом, метод излучательности.

Я вспоминаю студенческие годы, когда запивая аля французский длинный багет колой часть кода переводил на ASM + моделировал текстуры + карты сортов деревьев :-) Помню, как меня заставляли насильно выключать комп на ночь (+я умолял чтобы электрика ночью не сбойнула) , в то время когда самописная прога на Watcom C++ считала покадрово вращение шаров из разных материалов над зеркальной плоскостью .

Да, четверть книги в данный момент неактуальна ( там где программирование ранних моделей видеокарт EGA/VGA/VESA ... + описание нового для тех времен пакета 3D Studio под DOS), Но оставшиеся 3/4 читаются на ура, формулы и описания весьма понятны, а C/C++ код краток, прозрачен и снабжен необходимыми комментариями.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Dorbah
Программирование компьютерной графики, Современный OpenGL [2019] Боресков

Данная книга посвящена основам современной компьютерной графики. Подробно рассматривается ряд чисто математических понятий, таких как матрицы и кватернионы, алгоритмы и API, а также физика освещения. Отдельные главы посвящены методу трассировки лучей и современному OpenGL. Рассматривается реализация ряда специальных эффектов при помощи шейдеров в OpenGL. Весь исходный код доступен в репозитории на github. Издание будет полезно всем, кто планирует работать с компьютерной графикой.
Ответ написан
Комментировать
@AlexSku
не буду отвечать из-за модератора
Если про DirectX, то с самих основ неинтересно, т.к. версии меняются очень быстро. Из самых последних это 9 (и то, за какой-то месяц, сейчас не помню), 10, 11, 12.
Вы должны знать C++, COM-объекты (интерфейсы), язык шейдеров (раньше был ассемблер, теперь похож на C: HLSL, опять же, версии растут как грибы во время дождя), приложения DXUtil (почти все примеры даются на этой библиотеке, к тому же у неё версия тоже меняется).
Так что сначала определяйтесь с версией (от этого зависит версия Windows), а потом ищете книги. Кстати, как с английским? Т.к. большинство книг на английском.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы