XaeroX писал: Ещё одна тестовая карта. Пробую создать лес. Ничего особенного - ландшафт со сглаживанием, трава, некоторое количество моделей, 3д-скай, sun shafts. Кто-то скажет, что получилось красиво, кто-то - что убого донельзя, но тем не менее как-то так.
Может быть, потом детализирую всякими цветочками и бабочками и запилю полноценную демокарту, а также видео.
Ксерокс, скажи пожалуйста, а насколько сложно профессиональному программисту сделать альфаблендинг, который не глючит, как в GTA III, где наложение двух полупрозрачных текстур давало в итоге полностью прозрачную "дырку" - в дереве, например?
Просто сейчас во всех играх-Майнкрафт, Скайрим, Крайзис 1, (да и Соник Анлишед) используется мерзкий альфатестинг, который ЯКОБЫ является единственным методом отрисовки прозрачных и полупрозрачных поверхностей, у которого нет проблем с Z-буфером. Мерзкий он потому, что с ним эти поверхности при движении камеры начинают весело мигать гроздями нефильтруемых точечек, как будто это не Кризис, а Дум 2. Вот мне и очень хочется узнать-это реально необходимость, и игры за 20 лет так и не научились идеально рисовать дерево из двух полигонов крест-накрест, или же программеры просто ленятся?
Crystallize
Это очень сложный вопрос, на самом деле.
Мои деревья рисуются с альфатестом + sample coverage для сглаживания (он и даёт точки... но без него зубцы, а это еще хуже). Если сделать их с альфаблендом - встает проблема сортировки. Два пересекающихся полигона нельзя отсортировать по расстоянию от камеры без разбиения. Есть, конечно, приёмы order-independent transparency, но они куда лучше годятся для отрисовки каких-нибудь полупрозрачных зарядовых сфер вокруг атомов, чем для реальных игр. Разбиение же делается для бсп, но вот с моделью это не так просто, и многие просто забивают (в т.ч. я), врубая альфа-тест, который не требует сортировки, т.к. юзает з-буфер.
У майнкрафта и прочих движков с графикой уровня 1999 года - скорее всего, дело именно в этом, а вот у Крайзиса - не всё так просто.
Сразу скажу, за сам Крайзис я не в курсе, и не факт что это относится к нему. Но тем не менее. Существует проблема альфаблендинга при HDR-рендеринге - видеокарта должна поддерживать 32-битный альфабленд. В 2011 году уже у всех минимум гефорс 8800, так что это не проблема, но раньше во времена Крайзиса - была проблемой. Далее, есть огромная проблема альфа-блендинга при Deferred Shading. Я хз, может, её уже и решили элегантно - не в курсе, но раньше это была головная боль программеров движков.
Итак, я вижу три проблемы:
1) Сортировка по глубине произвольной геометрии
2) 32-bit alphablending hardware caps
3) deferred shading
Вполне симпотично, вот только одинаковые деревья, травке бы не помешала разная высота, на скалах есть грани с текстурами на сочетающиеся друг с другом, заборчик ололо врос в скалу.
__________________ Tiger! Tiger! burning bright
In the forests of the night,
What immortal hand or eye
Could frame thy fearful symmetry?
XaeroX писал: Crystallize
Это очень сложный вопрос, на самом деле.
Мои деревья рисуются с альфатестом + sample coverage для сглаживания (он и даёт точки... но без него зубцы, а это еще хуже). Если сделать их с альфаблендом - встает проблема сортировки. Два пересекающихся полигона нельзя отсортировать по расстоянию от камеры без разбиения. Есть, конечно, приёмы order-independent transparency, но они куда лучше годятся для отрисовки каких-нибудь полупрозрачных зарядовых сфер вокруг атомов, чем для реальных игр. Разбиение же делается для бсп, но вот с моделью это не так просто, и многие просто забивают (в т.ч. я), врубая альфа-тест, который не требует сортировки, т.к. юзает з-буфер.
У майнкрафта и прочих движков с графикой уровня 1999 года - скорее всего, дело именно в этом, а вот у Крайзиса - не всё так просто.
Сразу скажу, за сам Крайзис я не в курсе, и не факт что это относится к нему. Но тем не менее. Существует проблема альфаблендинга при HDR-рендеринге - видеокарта должна поддерживать 32-битный альфабленд. В 2011 году уже у всех минимум гефорс 8800, так что это не проблема, но раньше во времена Крайзиса - была проблемой. Далее, есть огромная проблема альфа-блендинга при Deferred Shading. Я хз, может, её уже и решили элегантно - не в курсе, но раньше это была головная боль программеров движков.
Итак, я вижу три проблемы:
1) Сортировка по глубине произвольной геометрии
2) 32-bit alphablending hardware caps
3) deferred shading
O_o Спасибо за ответ. Как всегда, всё в 10 раз сложнее, чем казалось раньше.
Это, наверное, баян, но вот вроде способ сгладить всё-всё-всё, и альфу, и грани. К сожалению, пример на DX10, но, может, можно сделать то же самое на 9ке или GL? http://www.humus.name/index.php?page=3D&ID=87
Crystallize писал: Это, наверное, баян, но вот вроде способ сгладить всё-всё-всё, и альфу, и грани
Способы есть разные, вопрос - насколько они производительные.
FSAA + sample coverage весьма производителен (в сравнении с просто FSAA), но даёт паразитные точки, увы.
Добавлено 28-08-2011 в 01:11:
По ссылке - очередное "ручное" решение с дополнительными приседаниями. Честно говоря, я антиалиасингом никогда не интересовался (кроме обычного FSAA), так что ничего не скажу. Но наверняка медленнее.
XaeroX
Хороший лес вышел, еще бы тени от листвы падали бы на сами деревья.
З.Ы. нашел пенёк, с тебя касарь .
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
XaeroX писал: Ещё одна тестовая карта. Пробую создать лес. Ничего особенного - ландшафт со сглаживанием, трава, некоторое количество моделей, 3д-скай, sun shafts. Кто-то скажет, что получилось красиво, кто-то - что убого донельзя, но тем не менее как-то так.
Может быть, потом детализирую всякими цветочками и бабочками и запилю полноценную демокарту, а также видео.
Прикольные скрины! Я давно ммечтаю сделать в хлфх карту с зеленью, лесом, травой ну в общем милую природу, но хз, как это делать