OpenGL: самый простой способ сделать тени и свет томами? - PullRequest
8 голосов
/ 17 мая 2010

Я хочу спросить, как проще всего сделать тени и свет объемными?Как я могу принести на сцену больше реализма?Вы знаете какие-нибудь хорошие трюки?Я слышал, что для создания тени я должен использовать трафаретный буфер, но я не знаю, как:

Ответы [ 4 ]

11 голосов
/ 17 мая 2010

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

Теперь, с учетом сказанного, вот несколько полезных ссылок для дальнейшего чтения:

В NVIDIA SDK 9 есть простой пример отображения теней здесь ( Paper ), который может быть легко адаптирован. Также есть раздел о тенях во всех томах Gem Gem и хороший обзор в книге Рендеринг в реальном времени (без кода).

2 голосов
/ 20 мая 2010

В блоге Wolfire было несколько хороших статей о тенях. Ничего особенного, никаких примеров кода, но, чтобы получить хороший обзор концепций, они великолепны (и мне нравятся картинки, которые всегда сопровождают статьи!).

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

(список, собранный 2010/05/19 поиском Google для site:blog.wolfire.com intitle:shadow|shadows)

1 голос
/ 17 мая 2010

На эти вопросы нелегко ответить, вам потребуется некоторое изучение и понимание того, как работают графические примитивы. Однако в Интернете есть несколько хороших сайтов, на которые вы можете посмотреть, например Nehe и GameDev . Там много статей и учебных пособий, просто найдите время, чтобы найти и прочитать их. Есть также некоторые движки рендеринга, которые вы можете использовать, которые будут делать много хороших вещей для вас, например Ogre3d и Irrlicht , но если вы не можете понять принципы, стоящие за ними (например, тени освещение ...), я рекомендую вам сначала попробовать OpenGL, изучить его, а затем использовать какой-то движок, чтобы выполнить работу за вас.

0 голосов
/ 17 мая 2010

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

...