Руководства по концепциям 3D-программирования?

Я пытаюсь переместить разработку игры в третье измерение, но у меня проблемы с пониманием того, что мне действительно нужно делать. Я создал 2D MMORPG перед использованием C и SDL, что было не слишком сложно. Но я не могу найти полезных ресурсов, объясняющих, как работает 3D-программирование. У меня есть базовое понимание связанной с ним математики, но я просто не могу найти ясного, подробного объяснения того, как все работает, как освещение и шейдеры. Я нашел много примеров кода и т.д., Но все они просто бросают комментарий, например "//Применяем освещение", что на самом деле не говорит мне ничего о том, что он на самом деле делает и почему.

Я не ищу учебник по API-специфике; достаточно легко изучить новый API - я просто не уверен, что на самом деле делать с ним.

Ответ 1

Если вы ищете книгу, я настоятельно рекомендую рендеринг в реальном времени. У меня есть второе издание этой книги, и я считаю, что это большой плюс при работе с 3D-графикой. В книге объясняется внутренняя работа строительных блоков 3D-программирования, таких как преобразования, освещение и текстуры. Он также исследует множество расширенных тем, включая шейдеры, обнаружение столкновений, ускорение и оптимизацию.

Книга очень легка в коде. Он подробно объясняет алгоритмы, но не содержит реальных фрагментов кода. Поэтому очень хорошо, если вы хотите узнать, как все работает, а не просто узнать, какую функцию вызывать.

Ответ 2

Если вы хотите понять концепции 3D-компьютерной графики, и учебные пособия не помогут. Как вы узнали, они учат вас API, но не помогают с фундаментальным пониманием.

Вам нужна библия программирования grpahics:

http://www.amazon.com/Computer-Graphics-Principles-James-Foley/dp/0201121107

alt text http://introtextbooks.com/wwwstatic/gfx/cover/foley-computer-graphics-principles-and-practice-in-c-2e.jpg

Он не охватывает любые OpenGL, DirectX или шейдеры, а также основные принципы. Но это то, что вам нужно. Например: как только вы поняли, как работает освещение, три линии, которые обеспечивают освещение на OpenGL, неожиданно станут понятными.

Ответ 3

Я предлагаю вам ознакомиться с учебниками NeHe OpenGL, начиная с самых простых и немного узнать OpenGL. Хорошая ссылка OpenGL (например,

Ответ 4

Красная книга - это в значительной степени единственный источник, который учит всему (начинающему-промежуточному), что вам нужно знать о OpenGL. Эти концепции можно легко перемещать в любую другую 3D-библиотеку. И у этого есть бесплатная онлайн-версия!

Ответ 5

Стандартный текст назад "в день" был Foley and Van Dam, некоторые предметы, покрытые там, немного длинны в зубе, но фундаментальная математика за 3-мерными преобразованиями и проекциями не изменилась.

Текст Алана Уотта также хорош, но на самом деле не является вводной книгой.

Вы также можете взглянуть на веб-сайт Дэвида Эберли, он написал несколько книг по этому вопросу, и есть множество связанных информацию можно найти там. Ожидайте много математики.

Ответ 6

Если вы заинтересованы в программировании для XBOX 360 на С#, вы можете посмотреть на XNA Framework. Этот веб-сайт содержит множество учебных материалов по XNA, и я настоятельно рекомендую попробовать его. Просто перейдите на боковую панель (справа) и нажмите на раздел 3D.