Как стать автором
Обновить

Комментарии 14

Для использования фильтра Гаусса (и для более простого варианта с суммированием в квадрате) можно применить фильтр по вертикали и потом по горизонтали (или наоборот) — сложность вместо O(width*height) изменится на O(width+height).
С гауссом фишка в том, что вес пропорционален exp(-adx^2-bdy^2) = exp(-adx^2) exp(-b*dy^2), и он распадается на две независимые составляющие по каждой координате.

Сорри, не заметил, что Вы это тоже написали. Слово "матрица" и пример с суммированием цветов в квадрате ввели в заблуждение.

Ничего) Спасибо за внимание к статье!
Почему D3DX, а не DirectXMath?
привык
https://habrahabr.ru/post/248313/
Ни в коем разе не в укоризну, а комплектности для.
Смотрите часть 7)
Спасибо.
Виноват, замутнился взгляд после шейдерных выкладок, неуглядел.
Спасибо за статью, очень интересно!
Пожалуйста! Рад, что вам понравилось!
Извините, пожалуйста, за нескромный вопрос. Мне очень интересно, где Вы всему этому научились? В вузе, непосредственно на «предприятии» или сами? Если сами, то что использовали для обучения? Подскажите, пожалуйста, какие темы копать кроме, разумеется, векторной алгебры. Просто я сейчас на первом курсе и надо уже расставить более-менее приоритеты, начать углубление в те, области, которые потом позволят заниматься подобным «волшебством». Заранее спасибо за ответ!

Я не автор статьи, но подобный вопрос у меня возникал несколько лет назад.
Из институтских курсов реально необходима линейная алгебра. Без неё никак.
Ещё время от времени появляются некоторые отсылки к матану и физике (эффекты преломления и отражения, сохранение количества света, сферические функции, преобразование Фурье, кватернионы) — лучше в них самому разбираться. В компьютерной графике они довольно спецефически применяются, в общих курсах такого может и не быть.
Главный совет — учиться читать на техническом английском, на нём документация и есть хорошие материалы. (На русском может быть устаревшая информация, если вообще будет)


Я начинал с F. Dunn, I. Parberry — "3D Math Primer for Graphics and Game Development". Там есть описание алгоритмов и примеры кода на с++. Начинается с самых азов типа векторов и систем координат — мне было знакомо, но зато помогло привыкнуть к английским наименованиям.

Вот уж такого вопроса не ожидал)) Учусь потихоньку сам. Из книг могу порекомендовать

Mathematics for 3D Game Programming and Computer Graphics, Third Edition 3rd Edition by Eric Lengyel
https://www.amazon.com/dp/1435458869/ref=pd_lpo_sbs_dp_ss_1?pf_rd_p=1944687722&pf_rd_s=lpo-top-stripe-1&pf_rd_t=201&pf_rd_i=159200038X&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=7039KSJ1H4BNPTQ2X7WX

Насколько я понимаю, этот труд обрел уже статус классического

Introduction to 3D Game Programming with DirectX 11 by Frank Luna

Отличная книга, весьма подробно описывающая как многие современные техники рендеринга, так и основы. Рекомендую.
(Кстати, при написании этой статьи во многом опирался на эту книгу)
https://www.amazon.com/Introduction-3D-Game-Programming-DirectX/dp/1936420228

HLSL Development Cookbook by Doron Feinstein
Весьма доступно раскрываются методы реализации более продвинутых приемов рендеринга. Cascaded shadow mapping, Dynamic sun shafts и многое другое ждет вас на страницах этой книги

Темы кроме алгебры — английский(если у вас с ним конечно проблемы как у меня)) ). А если ближе к предметной области — то рекомендую копать все. Я вот в определенный момент понял, что не понимаю то, о чем пишут в тех же GPU Gems или ShaderX и начал слушать алгебру с самого начала на khanacademy. Я болшьше, к сожалению, не могу вам ничего посоветовать, потому как сам еще только учусь. Я желаю вам успехов в учебе и в работе!
Как же я мог забыть!!!
Андре Ламот. Программирование трехмерных игр для Windows
(https://www.ozon.ru/context/detail/id/1692806/)

Это просто вещь!!! Автор рассказывает, как написать свой конвеер рендеринга с нуля. Это определенно ваш выбор, если вы хотите понять, «как», «что» и «почему». Кто-то может сказать, что книга устарела — мол, там нет суперэффектов и шейдеров — на что я отвечу, что знания, в ней изложенные, настолько фундаментальны, что вне времени
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации