Есть хорошие книги по графическому программированию?

9

Я искал книгу, которая использует восходящий подход для графического программирования. Итак, то, что начинается с 2d-фильтрации, может перейти в нормальное отображение, затем окружающая окклюзия и т. Д.

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

Я знаю, что серия GPU Gems великолепна, но они больше похожи на кулинарную книгу, чем на подход «снизу вверх», который мне нужен. Вы склонны получать более разрозненную теорию из кулинарных книг, а не опираться на теорию из предыдущих глав.

РЕДАКТИРОВАТЬ: желательно то, что вы читали! Я могу найти Амазонку для этого, но трудно получить объективный обзор таким образом.

Brandon
источник

Ответы:

10

Большинство «шейдерных эффектов», таких как фильтрация и нормальное отображение, имеют очень мало общего, которое можно рассматривать как строительные блоки между эффектами. Например, 2D-фильтрация и нормальное сопоставление не сложнее и сложнее, чем друг с другом, и то же самое можно сказать о многих эффектах, за исключением нескольких заметных исключений (на ум приходят различные разновидности теневого сопоставления). Они просто разные. Вот почему вы увидите так много книг в стиле кулинарной книги, когда речь идет о реальном программировании графических эффектов (в отличие от графического программирования на фундаментальном уровне).

Большинство внутренних эффектов (т.е. не постпроцессорных) коренится на некотором уровне в физических свойствах света и их моделировании или приближении. С этой целью чтение книг, посвященных трассировке лучей как методу рендеринга, может помочь вам лучше понять основные теории ( физическое рендеринг также отлично подходит для чтения).

Как только вы поймете это, «теория рассеяния», представленная в книгах, таких как Gem GPU, будет относиться в первую очередь к конкретным способам манипулирования GPU для аппроксимации желаемых физических сценариев реального мира и будет казаться менее разрозненной.

Точно так же шейдеры постобработки имеют тенденцию опираться на теорию обработки сигналов и изображений. Думаю, я вспоминаю, что у меня была эта книга в качестве учебника на уроке по этому предмету, но я не слишком вспоминаю об этом.

В целом, однако, вы не найдете слишком много подходящего для такого подхода, потому что теория, которая связывает все различные эффекты шейдеров, которые сейчас в моде, структурирована как очень, очень мелкое дерево, а не как очень глубокий - очень мало зависимостей, которые удовлетворяют подходам «снизу вверх», как только вы выходите за рамки самой теории графического программирования (как структурировать сцену, конвейер преобразования и связанную линейную алгебру, растеризацию и так далее).


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