Наше комьюнити:   OpenGL Shader Lab  •  Half-Life FX  •  Форум  
HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Компьютерные игры > Современная культура в общем и игры в частности - Часть 2
Детализация и палитра картинки в играх
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Crystallize
Липучка

Дата регистрации: Jul 2007
Проживает: (void)
Сообщений: 1890

Рейтинг



Современная культура в общем и игры в частности - Часть 2

Я за один вечер подновил бета-версию статьи, которую написал в 2015м, так что просьба тапками не бить.
Позже возможно перепощу на КСМ всё это, как ДМ просил когда-то.
(пока ещё продолжение предыдущей статьи)

special effects are cheap
they do that in real action now
it cost less than animating shit

Ретроактивный фашизм по отношению к «эпохе баланса»
«Эпохой баланса» (веком Кармака, бесшейдерной, diffuse-эрой, периодом чёткой графики) можно назвать период примерно 1996-2005 года, от выхода демки Quake (или, если копнуть глубже, неиграбельной демки Into The Shadows) до премьеры Xbox 360 в конце 2005 года.

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

Однако интересным здесь является как раз то, какие именно проекты выбираются для экранизации. Сделав небольшую выборку мы поймём, что обычно экранизации подвергается либо сущеглупый бред из 80-х вроде Марио, Змейки, Тетриса, Понга, (а про Sword Master и Solbrain не помнит почти никто) или того виртуального пространства в Детях Шпионов 3D, (являющегося квитэссенцией индустрии ушибленной Нинтендо), либо же уже чисто коммерческие продукты Xbox 360-индустрии, с лучницами в простыне и ХЫА-мужиками, типа Воркрафта, Assassin’s Creed… а, ну и Angry Birds. Сложные, комплексные же игры вышеупомянутого периода, где для заснятия любой сцены нужно построить или смоделировать дорогостоящие декорации, для экранизации просто не берутся. Из-за этого у многих людей, далёких от гейминга, должно быть создаётся впечатление что таких игр нет вообще.

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

Ещё раз скажу, что все вышеперечисленное является просто различными следствиями одного и того же явления – потери баланса. Ну или де-романтизации, очищения от шелухи, выделения сути. Называйте как хотите. Странно только, что в этом процессе «очищения» сама графика, наоборот, поросла толстым слоем совершенно ненужных, чисто декоративных, а то и откровенно вредных для картинки вещей.

Статья 2
Детализация и палитра картинки в играх

Симачёв-бар

(детализация картинки)
Не менее важным вопросом также оказывается детализация картинки и её роль в общем восприятии. Вопрос этот тоже многогранный, и поэтому разбирать его мы будем по частям.

Для начала давайте определимся с тем, что такое детализация вообще, и детализация на экране (на картинке) в частности. Под детализацией я понимаю разность между значениями цвета двух соседних пикселов экрана. Если она разная, то на экране визуально появляется новая деталь. И наоборот, если два пиксела отличаются, скажем, насыщенностью, более насыщенный из которых стоит по этому параметру на самом краю шкалы, а другой отстаёт скажем на 20 единиц, то после прибавления насыщенности на 20 единиц и больше то цвет двух пикселов совпадает и деталь теряется, и чем больше, тем сильнее детали на картинке начинают исчезать (в то же время, если какая-то деталь слишком выделяется, то возникает весьма любопытный, обратный эффект, о котором мы ещё поговорим).

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

Так или иначе, на консолях и IBM PC 2D-арт выглядел довольно непритязательно, как и средства его вывода на экран - 64К цветов, 320*240 при полной Луне, ну знаете. (помню, играл в Дюка на 800*600 SVGA, но Дюк был позже, да и арт в меню всё равно был в минимальном разрешении)
И где-то примерно в этот момент вышел Wolf3D. Несмотря на революционное изменение в графике, детализация картинки возросла не особо, и причиной тому было не только отсутствие текстур у пола и потолка, но и палитровые, мультяшные по сути текстуры низкого разрешения, у которых сравнительно крупные области были закрашены одним цветом. И эти ограничения сыграли скорее на пользу игре, потому что если бы не они, детализация картинки возросла бы взрывообразно.

Дело в том, что информация, которую игра изначально предоставляет видеокарте, очень избыточна, и будучи передана на монитор в максимально нетронутом виде, просто после преобразования в из мировых координат в координаты камеры, выливается в зашумлённое, дрожащее и мигающее изображение, на которое больно смотреть. Но, как ни парадоксально, именно такая картинка отличается наибольшей детализацией и наиболее чистыми цветами, по минимуму смешанными друг с другом.
Хорошим примером является игра King's Field для PlayStation, из-за специфически четких и контрастных текстур представляющая собой мигающий текстурный ад.

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

Это могло ожидать и Wolf3D, будь игра чуть более революционной, и после отработанного гладкого 2D особенности такого 3D должны были быть заметны на контрасте, что и ожидало вышедший позднее Doom и Quake. Однако после Wolf3D люди уже привыкли к такой картинке, со всеми её недостатками.

Уже в графике года 97-го на ПК появилось много технологий, которые мы сейчас воспринимаем как должное: текстурное сглаживание, мип-маппинг, перспективное наложение текстур (в противоположность аффинному), трилинейная фильтрация, краевое сглаживание, вертикальная синхронизация, высокое разрешение в конце концов. Долго ли коротко ли, в какой-то момент выходит игра, в которой ничего уже не дрожало, потому что она полностью поддерживалась 3D-акселератором. (Quake 2 или GLQuake, или Unreal) Но, как ни странно, именно в этот момент детализация и чистота цветов в картинке резко упала.

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

Цвета «напрямую»
Существует такой интересный эффект: если взять любую картинку и обработать её фильтром Sharpen, то вам покажется, что она стала ярче, а цвета стали более чистыми, и "колючими". Похоже что это наш психологический эффект восприятия, но не только. Дело ещё и в том, что фильтр по сути частично компенсирует эффект от предыдущих манипуляций с изображением. Но от каких манипуляций? Если говорить об игре, то даже в случае простейшей фильтрации текстур - пикселам экрана не попавшим идеально в центр соответствующего текселя присваивается некоторое усреднённое цветовое значение. И при краевом сглаживании цвета пикселей на границах полигонов тоже усредняются или по крайней мере как-то меняются. И вся собака зарыта в том, что усреднение между собой двух достаточно разных цветов, субъективно не являющихся оттенком одного чистого зелёного к примеру, выливается в падение яркости и насыщенности конечного цвета по сравнению с любым из исходных, а точнее в стремление этих значений к середине шкалы, т.е. к 128. А что такое цвет с яркостью и насыщенностью на 128? Серый. Поэтому при любом даунсемплинге картинки и многих других преобразованиях картинка становится серее. И не мне вам говорить, что между кадром из оригинального Doom и кадром из какого-нибудь аппаратно ускоренного порта типа ZDoomGL таких преобразований очень много, а соседствующих родственных цветов на текстурах, которые после фильтрации потеряли бы лишь небольшую долю оттенка, далеко не так много. Поэтому фильтр Sharpen по сути возвращает нам некоторое фейковое подобие тех исходных цветов, которые могли быть на текстуре и в кадре, будь этот кадр с движка типа думовского.

Духи предков
Из перегруженности нефильтрованной графики детализацией происходит ещё один интересный эффект. Представьте что вы находитесь в каком-нибудь насыщенном контурами окружении - в лесу, на болоте, в высокой траве и так далее. В таких местах обычно полутьма. При движении восприятие далеко расположенных объектов у вас будет хаотичным и несвязным из-за того что ваш мозг не сможет нормально произвести нахождение контуров объектов, в основном из-за их сложной, непривычной формы, малого размера и неясного расстояния до них. (или это отсутствие привычки у современного городского человека?) Однако мозг всегда ищет контуры, это необходимо для выживания, поэтому время от времени он будет давать вам ложные сигналы, заставляя видеть в кустах какие-нибудь лица и прочие глюки наводящие жуть.Таким образом, у человека перегруженность контурами, чувство опасности и загадочности, а также полумрак тесно связаны между собой. И не точное ли это изображение старой игры без освещения, с мельтешащими текстурами, сливающимися на удалении в нечто неясно колыхающееся, подобно воздуху над дорогой или мерцающим звёздам? Это замечательная пища для воображения, при условии что у вас сохранилась ещё привычка воображать. В связи с этим даже какой-нибудь Майнкрафт с нефильтрованной графикой, и тот обретает свою долю привлекательности.

Цветовая кодировка
До массового внедрения шейдеров в 2005 году у разработчиков не было возможности показать свойства поверхности при помощи какого-то динамического эффекта, (отдельные блокбастеры и энтузиастов мы не учитываем) поэтому им приходилось целиком полагаться на статические эффекты, то есть и не на эффекты вовсе, а на сами текстуры. Так возникло нечто, что можно назвать цветовой кодировкой окружения. Это когда свойства поверхности ярко выражены её цветом, причём его насыщенность, опять же, позволяет назвать его именно цветом, а не оттенком серого.

Сам цвет подбирается на основе наивных стереотипов, с детских лет сидящих в нашей голове: вода синяя, небо голубое, солнце жёлтое, земля-коричневая либо равномерно зелёная, если поросла травой, пустыня жёлтая, камни серые, лёд и снег белый, злые чары-фиолетовые, небо раскрашено галактиками и туманностями наркоманских цветов. После этого, в зависимости от приоритетов разработчика, цвет может корректироваться чтобы лучше сочетаться с другими текстурами и с какими-то идеями игры. Негативной стороной этого подхода можно назвать то, что после тонкой доводки многие цвета становятся похожими, как в Морровинде и Deus Ex. Но без этого никак, ведь без тонкой доводки игра выглядит аляповато, в стиле средневековой книжки, и раздражает слишком уж яркими цветами. А вот в случае с хорошей игрой где игрок проводит в ней более-менее много времени, его мозг адаптируется и тогда даже неяркие, похожие цвета становятся хорошо различимыми.

К плюсам цветовой кодировки можно отнести то, что она играет на атмосферу, тем или иным цветом запуская у игрока в мозгу нужный набор ощущений и стереотипов, например тактильных и звуковых. Упор здесь делается на детские впечатления, а также на память и воображение играющего. Также изображение становится более контрастным, по идее попадая в тот интервал, когда на картинке уже не так трудно различить что-то, как в градациях серого, но в то же время оно всё ещё не так сильно утомляет глаза, как кричащие супер-яркие цвета. (а может дело совсем не в цветах, а в контурах???) Да и в случае какого-то аврала игрок всегда может сориентироваться по цветам, когда глаз не успевает полноценно обходить контуры в кадре.

Равномерность контуров
Сами контуры тоже являются интересным вопросом для обсуждения. Вообще, что такое контуры? Детализация кадра, то есть границы между пикселями разного цвета, очевидно, не воспринимается нашим мозгом в сыром виде. Мы существа аналоговые, поэтому и цифровые изображения на экране потребляем в аналоговом виде, т.е. в виде контуров. Контурами мы, видимо, считаем на экране цепочки границ, по разные стороны от которых пиксели достаточно различны. Причём различие это должно быть в первую очередь по яркости, так как наши глаза наиболее чувствительны к ней.

(кстати, разные оттенки одинаковой яркости визуально выглядят как оттенки разной яркости, что поднимает вопрос о существовании цвета как такового)

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

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

Это значит, что, по большому счёту, в кадре резкие скачки в цвете могут быть только трёх типов:

1. это контуры, образованные сменой яркости текстур

2. это контуры, образованные сменой яркости освещения, например лайтмап (в общем-то, тоже, псевдо-текстур)

3. это контуры, образованные геометрией

Геометрические контуры до сих пор обычно грубые и ломаные, в основном из-за разных труб и зданий, в отличие от текстурных, которые даже в 90-е можно было нарисовать размытыми и гладкими. (иногда избыточно гладкими чтобы сгладить Software-картинку) Более того, текстурам за счёт низкого разрешения как раз и приходилось быть гладкими, и чёткими их получилось сделать не так давно. Поэтому контуры образованные геометрией и текстурами всегда образуют как бы два разных слоя картинки, сравнительно легко отличимые друг от друга. Мы не имеем в виду какие-нибудь перепечатки скриншотов в газетах 90-х годов, разумеется. Там легче видно шестиугольную сетку, чем что-либо ещё.

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

И вот со временем наметился очевидный разлом между качеством текстур и качеством геометрии, примерно как это было на Nintendo 64, только наоборот. Наглядно разлом проявился в одном из последних (наверное не случайно) брашевых движков Source. Вы довольно легко можете узнать сорсовскую картинку даже без фирменных засветов и желтизны, просто на том основании, что она выглядит как десять огромных бритвенно-острых полигонов, обтянутых текстурой космического разрешения. Если где-то светит лампа и пятно света от неё прерывается там где освещённая стенка заворачивает за угол и неестественно резко обрывает освещённую грань, то характерность освещения проявляется особенно резко. Всё бы ничего, но на текстурах и тем более на лайтмапах, не бывает таких резких переходов, поэтому такая картинка начинает смотреться как поделка из узорчатой бумаги. Это ожидаемо контрастирует с графикой старых игр, где бедность текстур гармонировала с бедностью геометрии, и всё вместе смотрелось как цельная картинка. По сути получается смешно, высокодетальные текстуры всегда смотрятся некрасиво в городском сеттинге, потому что им нужна высокодетальная геометрия, а человек живёт в коробках. И только в случае с деревянными строениями, кирпичной или каменной кладкой, ситуация немного выправляется.

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

Пришествие шейдеров
Следующим ударом по детализации кадра стал выход Xbox 360 в ноябре 2005 года. Он открыл собой новое поколение приставок, которое принесло с собой шейдеры, как для отдельных текстур и объектов, так и для всей картинки... Впрочем, сама картинка на экране теперь тоже существовала в каком-то трёхмерном пространстве и была просто текстурой натянутой на квад, или чёрт его знает.

Одним из плюсов нового поколения стала, наконец, полная и честная реализация правил поколения старого: мип-маппинг стал наконец-то более или менее непререкаемым стандартом. Потому что даже в некоторых не очень качественных играх на PS2 вышедших в одновременно с X360, мипмаппинга либо не было, либо мип-уровней просто не хватало. При этом краевое сглаживание, обещанное ещё на PS2, стандартом в поколении X360 так и не стало, оставаясь роскошью. Появилась красивая вода. Даже бамп и нормалмап сами по себе были хороши. Также возросло разрешение текстур, рельефное текстурирование наконец нормально заработало спустя 13 лет... и вот тут всё становится сложнее.

Кроме несомненных плюсов в количественном плане типа разрешения текстур и т.д., в качественном плане графика шейдерного поколения отстаёт если не по объёму деталей в кадре, то по количеству визуально различимых отдельных объектов уж точно.
Итак, шейдеры. Появившиеся шейдеры могли применяться, по сути, просто к конкретной текстуре, с учётом ещё пары вспомогательно идущих "параллельных" текстур, например к текстуре объекта с учётом параллельно рельефа и спекуляра, или к текстуре самого кадра параллельно с учётом глубины кадра. (т.е. того же самого рельефа)
И всё бы ничего, но воплощение новых фишек стоило немалых денег, в то время как эффект, который они привносили в кадр, был не так уж и велик.

Цитата:
XaeroX
Правильный эффект параллакса - это когда при его включении фпс проседает, а картинка почти не меняется. И вся мякотка - в этом "почти".


По сути графика Xbox 2001 года и так уже давала игроку практически всё необходимое в плане детализированной и гармоничной картинки, а все последовавшие за тем инновации были направлены на экспансию игр за пределы устоявшегося за 20-30 лет круга геймеров, или, вернее, за пределы круга людей с неколькими вдумчивыми типами характера.
И вот в стремлении как-то уравнять привносимые новыми фишками эффекты с потраченными на них деньгами эффекты были выкручены на максимум. Следствием этого стало катастрофическое падение информативности картинки, но, самое главное, падение (или скорее изменение) атмосферности. Чтобы больше не ходить вокруг да около, по памяти перечислим в общих чертах появившиеся эффекты и их влияние на игровую картинку:

Текстурные эффекты:

- Спекуляр

Спорная вещь. Появляется на тех объектах, чья поверхность считается отполированной, гладкой или просто мокрой. Те пупырышки, что направлены более-менее на вас, засвечиваются белым с некоторым спаданием эффекта к краям, соответственно засветка полностью либо частично уничтожает информативность и контуры в этой области. С другой стороны, спекуляр может проявлять те детали, которые всё равно остались незаметными после наложения обычного освещения. Однако это случается в основном при освещении напрямую со стороны камеры (что редкость: либо это фонарик либо тело игрока загораживает свет) либо почти в полной темноте, когда уровень освещённости позволяет шейдеру не пересвечивать едва различимую разницу между отражением света от пупырышек текстуры и между ними, а вместо этого выгодно подчёркивать её. Но с другой стороны, какой спекуляр может быть в почти полной темноте если сам он по определению-отражение СВЕТА? При «выгодно низком» уровне освещения его может быть просто не видно уже вот по этой самой причине.

Пятно спекуляра обычно имеет чёткие края, и выглядит бельмом на остальной картинке.

Экранные эффекты:

- легкий цветной художественный туман.

Мерзкая вещь, оставляющая в окружающем мире примерно столько же таинственности, сколько вы видели в городской бане. Окраска тумана заставляет вас прогибаться под извращённый художественный вкус дизайнера, забывшего когда он последний раз был на улице, и не даёт вам возможности сказать про какой-то из окружающих предметов "эта вещь такого-то цвета" по той причине что цветов в кадре не осталось, вместо них теперь оттенки той серо-буро-малиновой бурды, что появляется когда выливаешь стаканчик после рисования.

-HDR
Данная аббревиатура является, как и многое в нашем мире, чучелом для непросвещённых людей, и на практике скрывает в себе чуть ли не десятки различных реализаций, плюс где-то там ещё есть tone mapping и адаптация глаза, но они могут идти и отдельными эффектами. HDR презентовался как спасение от слишком светлых либо слишком тёмных областей кадра, в каком виде он и применяется в фотографии. Это вообще говоря смешно, потому что игры (кроме Software-рендера) до него вообще не могли пересвечивать текстуру материала при помощи освещения, и ни о каком честном изображении солнечного дня речи быть не могло, пасмурный день при синем небе как максимум.

Цитата:
Xaerox
Так в 1998 году и нельзя было сделать ярко. Банально, отсутствовал аппаратный овербрайт (он появился только на риваТНТ2, емнип).


Ну а тёмные области кадра - это, извините, тени, просто выключите их если не нравится. На практике HDR может быть полезен только для честного просчёта разного рода отражений. Прикол однако в том, что мы привыкли видеть более-менее заметные отражения на весьма ограниченном числе объектов, которых в играх обычно нет, так как игры обычно происходят в канализации, средневековье, и прочем непричёсанном дерьме, а если отражающие объекты есть, то всё равно обычно слишком темно, или на крайняк мы по запарке можем даже не сообразить что они отражающие.
Но прикол в том, что ради этого HDR люди покупали новые видеокарты в 2006м.

- адаптация глаз
Приводит к тому, что в яркий день у вас под каждым кустом угольно-чёрные тени без следа рассеянного освещения и вообще без каких-то деталей. А в пещере у вас в конце каждого тоннеля и на каждом факеле горит сверхновый квазар, опять же без деталей, и при этом всю остальную пещеру либо просто не видно, либо не видно даже если игра всё же рисует её достаточно ярко. Почему? Потому что у глаз человека сидящего перед монитором тоже есть некая адаптация, которая всегда направлена на более яркий объект, будь то бельмо на экране или глаза хищника в лесу, а в данном случае – на яркое пятно на мониторе. При неверной настройке (т.е. в 90% случаев) этот графический эффект выдаёт сероватую картинку, что как бы тоже не айс.

- цветовая коррекция
Упомянутые в пункте «цветовая кодировка» милые детские стереотипы вдруг вылезают боком, заставляя дизайнера окрашивать картинку в цвета того конца градусника, к которому в данный момент стремится температура в игре. В результате мы получаем синие ночи и зимы, (что красиво) а также повально жёлтые вечера, (что уродливо и может иметь корни в принципиально другом учебном графике наших заокеанских друзей) и спасибо что не дни, при том что вечером действие в игре происходит довольно часто, в качестве эвфемизма загнивания. Соответственно тоже получаем некоторые проблемы с различением контуров и уход противоположных, синих и зелёных оттенков, в серый цвет. Этим эффектом в 2005-2012 настолько повально злоупотребляли, что он привёл к формированию движения Blue Sky.

- блум и glow, tronglow
Самый примитивный и дешёвый эффект из многих. Выжигает на картинке яркие области белым цветом, либо их собственным усреднённым цветом, выкрученным до наркоманской насыщенности, также немного распространяется вокруг. Соответственно убивает детали и цветовое разнообразие в этих и сопряжённых с ними областях.
****
HDR, адаптация, цветокоррекция, блум - по сути могут представлять собой один сложный эффект с кучей настроек, в зависимости от конкретной реализации.
Важнее то, что из нормальной картинки эти эффекты делают нечто мутное с Fishki.net и желтым оттенком, создавая в кадре настроение "мама, меня бросил мальчик, сижу пью латте и курю сигарету, голуби целуются по двое, как я им завидую".

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

- SSIL (иногда считается частью SSAO)
осветляет все торчащие на вас углы геометрии в сцене, убивая детали на них если они и так уже нормально освещены. В принципе тоже красиво.

- глубина резкости
Является одним из основных алгоритмов "новой графики", сломаете её -сломаете всё "крутое освещение" и перед вами предстанет картинка с PS2, ну или просто чёрный экран, если не повезёт. Глубина резкости лучше вас знает, куда в кадре вам надо смотреть, а всё остальное она вероломно засирает и замазывает, опять же приближая сцену ближе к серому цвету.

В связи с блескучим спекуляром и HDR ещё раз разберём такой вопрос: каким образом засвеченная область в кадре, не важно каким образом этот засвет был достигнут, мешает восприятию остальной картинки?

Дело в том, что у человека, как я уже сказал, остались от животного некоторые приёмы выживания. Одним из них является отдача приоритета внимания яркой точке, потому что яркая точка - это глаз хищника. И выживали только те, чьё зрение стремилось при необходимости максимально затемнить картинку, чтобы проявить больше деталей в кустах, где может прятаться хищник. Поэтому если вам в глаза светит машина, ямы на дороге кажутся вам бездонными чёрными провалами, и всё что несопоставимо с фарами по яркости тоже выглядит чёрным. Поэтому кстати Doom 3 и Unreal выглядят для нас вполне естественно. А теперь вспомните, что даже при освещении в комнате, соответствующем освещению монитора, чёрные, серые и белые точки на экране имеют яркость достаточно различную, чтобы заставить глаз адаптироваться при движении персонажа из светлого помещения в темное. К тому же в светлой сцене у вас на экране находятся точки от белого до тёмно-серого, а в тёмной или просто в помещении - наоборот, от чёрного до светло-серого, т.е. средняя яркость картинки всё равно меняется.

Цитата:
ТРЕБОВАНИЯ К ОСВЕЩЕННОСТИ ПРОИЗВОДСТВЕННЫХ ПОМЕЩЕНИЙ И РАБОЧИХ МЕСТ
ВЛИЯНИЕ ОСВЕЩЕННОСТИ НА ПРОИЗВОДСТВЕННУЮ ДЕЯТЕЛЬНОСТЬ ЧЕЛОВЕКА, ОСНОВНЫЕ ХАРАКТЕРИСТИКИ ОСВЕЩЕНИЯ
< ... >
блёсткость (прямая или отраженная) должна отсутствовать в поле зрения. Прямая блёсткость создается поверхностями источников света, и её уменьшение осуществляется снижением яркости источников света, изменением защитного угла светильника и увеличением высоты подвеса светильников. Отраженная блёсткость создается поверхностями с большими коэффициентами отражения и отражением но направлению к глазам. Ее ослабление обеспечивается подбором рационального направления светового потока на поверхность и заменой блестящих поверхностей матовыми;


Естественно, что появление светлого пятна в тёмной сцене создаст вам дискомфорт, и заставит глаза перестроиться на меньшую чувствительность, соответственно слишком затемняя и так уже тёмные углы сцены на экране. По этой же причине вы не сможете читать книгу днём, сидя лицом к окну - вас будет слепить солнце. Хотя можно попробовать - ведь засвет это так грустно и ванильно.

Отредактировано Crystallize 19-06-2018 в 17:52

Сообщить модератору | | IP: Записан
Сообщение: 173186

Старое сообщение 19-06-2018 17:51
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Новосибирск
Сообщений: 28045
Нанёс повреждений: 466 ед.
Возраст: 32

Рейтинг



Награды
 
[1 награда]


Цитата:
Crystallize писал:
Xaerox
Так в 1998 году и нельзя было сделать ярко. Банально, отсутствовал аппаратный овербрайт (он появился только на риваТНТ2, емнип).

Тут надо внести некоторую ясность.
Аппаратный овербрайт - это шикарная, потрясающая фича нового веяния моды под названием register combiners, или если точнее, то их самой ранней версии под названием "TNT combiners". Что такое эти комбайнеры? Это набор регистров унутри графического процессора, над содержимым которых можно выполнять различные арифметические действия. Содержимое в них попадает из текстур (до двух за такт), текущего цвета, константы и т.п., а результат - пишется в буфер кадра. Регистров таких было аж целых три с кучей оговорок. Операций поначалу поддерживалось немного - сложение обычное, сложение с вычитанием 0.5, умножение, деление и извлечение квадратного корня, линейная интерполяция, а кроме того, можно было дополнительно домножить результат на два. На два, Карл! (с появлением GeForce и на четыре, но на GeForce уже появились полноценные register combiners - самые первые шейдеры, ещё без dependent texture reads, но уже со spare-регистрами, условной операцией, так называемой mux sum, где при должном рвении можно было получить 16-кратный овербрайт, впрочем это совсем другая история).
Так вот, как нетрудно догадаться из названия, TNT-комбайнеры появились у чипа NV4, или проще говоря, Riva TNT, в середине 1998 года. То есть технически в 1998 году уже можно было сделать ярко. Но во-первых, не ранее второй половины года, а во-вторых, как вы понимаете, движки разрабатываются не один месяц, и новинку ещё предстояло опробовать в деле, да и вообще, понять, как эти комбайнеры использовать. В начале 1999 года NVIDIA на-гора выкатила свой шикарный чип NV5, или в просторечье Riva TNT 2, который поддерживал четыре регистра (правда, по-прежнему с оговорками) и на две операции больше.
Собственно, TNT-комбайнеры никуда не делись и по-прежнему поддерживаются любой уважающей себя видимо картой, даже прости г-споди, радеонами. Быстрее всего, они эмулируются через шейдеры, но не суть важно. Это самый простой способ получить аппаратный овербрайт.

__________________
So she began again: 'Où est ma chatte?' which was the first sentence in her French lesson-book. The Mouse gave a sudden leap out of the water, and seemed to quiver all over with fright. 'Oh, I beg your pardon!' cried Alice hastily, afraid that she had hurt the poor animal's feelings. 'I quite forgot you didn't like cats.'

Сообщить модератору | | IP: Записан
Сообщение: 173187

Старое сообщение 19-06-2018 18:35
-
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 21896
Нанёс повреждений: 360 ед.

Рейтинг



Цитата:
Crystallize писал:
Под детализацией я понимаю разность между значениями цвета двух соседних пикселов экрана. Если она разная, то на экране визуально появляется новая деталь.

Максимальная детализация в розовом шуме, так получается.
Цитата:
Crystallize писал:
64К цветов, 320*240

4 цвета, 256х192 не хочешь?
Цитата:
Crystallize писал:
Дело в том, что информация, которую игра изначально предоставляет видеокарте, очень избыточна, и будучи передана на монитор в максимально нетронутом виде, просто после преобразования в из мировых координат в координаты камеры

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

Добавлено 19-06-2018 в 23:52:

ЗЫ, координаты камеры они тоже в мировых координатах. Удивлён?

Добавлено 19-06-2018 в 23:54:

Цитата:
Crystallize писал:
обеспечивают щадящую упаковку избыточного количества информации

Строго наоборот - интерполяция вытягивает недостающие цвета из ограниченной палитры. Когда-то этот приём эффективно использовался чтобы увеличить кол-во цветов на экране.

Добавлено 19-06-2018 в 23:55:

Цитата:
Crystallize писал:
Существует такой интересный эффект: если взять любую картинку и обработать её фильтром Sharpen, то вам покажется, что она стала ярче, а цвета стали более чистыми, и "колючими".

Стала как говно - более точный термин.

Добавлено 20-06-2018 в 00:06:

Вообщем суть статьи такова - автор хочет рассказать об известном эффекте, но ему не хватает понимания, слов и опыта, чтобы изящно и ёмко это выразить точной фразой. Вместо этого он пускается в рассуждения и примеры, не в силах понять чтожы происходит. Ну давайте я в крации расскажу вам причину, как тогда с delta.lst, отвечу на интерисующий всех вопрос. Вы с детства знаете, что нельзя постичь невозможное, объять необъятное и впихнуть невпихуемое. Так вот кроме этого. еще нельзя сглаживать и интерполировать вещи, которые не являются соседними объектами. Самый характерный пример - карта глубины - её нельзя интерполировать, потому что после интерполяции получится всё что угодно, но только не карта глубины. Аналогично со сглаживанием текстур. Пока у нас его нет, идет точное попадание пикселя из мирового пространства в скринспейс, независимо от типа объекта, вследствие чего картинка воспринимается абсолютно целостной. Когда мы начинаем сглаживать объекты, для них действуют совершенно разные коэффициенты, обсуловленные геометрией тела и текстурной развёрткой. В итоге текстуры конечно становятся гладенькие, но всё это уже не попадает корректно в экранные пиксели, из-за чего модели зачастую смотрятся оторванно на фоне мира, теряется целостность. По хорошему надо отключить сглаживание текстур и выполнять FXAA. Впрочем есть и другие методы.
Но какой-то особой проблемы здесь, а тем более неразрешимой нет.

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

Сообщить модератору | | IP: Записан
Сообщение: 173189

Старое сообщение 19-06-2018 21:06
-
Crystallize
Липучка

Дата регистрации: Jul 2007
Проживает: (void)
Сообщений: 1890

Рейтинг



Цитата:
Дядя Миша писал:
4 цвета, 256х192 не хочешь?

There's always a bigger fish, я в курсе. Просто я разбираю вопрос о детализации и как её воспринимает человек. Для этого мне приходится прибегать к упрощениям, и разница между 240р и 192р здесь несущественна.

Цитата:
Дядя Миша писал:
То есть налицо непонимание сути процесса, отсюда и ошибочные в целом выводы. Дальше можно нечитать.

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

Цитата:
Дядя Миша писал:
ЗЫ, координаты камеры они тоже в мировых координатах. Удивлён?

Да знаю я всё это. Я о том что если мы хотим показать сцену не с позиции 0 0 0 и угла 0 0 0, а учесть координаты и поворот камеры, то нам нужно пересчитать всю геометрию с учётом вот этого сдвига и поворота.

Цитата:
Дядя Миша писал:
Строго наоборот - интерполяция вытягивает недостающие цвета из ограниченной палитры. Когда-то этот приём эффективно использовался чтобы увеличить кол-во цветов на экране.

Разницы нет. Мы всё равно находим среднее между двумя значениями. Просто я писал о том что мы этим средним перезапишем исходные значения, а ты написал что мы исходные значения не тронем, но этим средним замажем диапазон между ними.

Цитата:
Дядя Миша писал:
Стала как говно - более точный термин.

Вся история развития компьютерной графики до появления ускорителей выглядела как говно? И картинка с видеокассет тоже?

Цитата:
Дядя Миша писал:
Аналогично со сглаживанием текстур. Пока у нас его нет, идет точное попадание пикселя из мирового пространства в скринспейс, независимо от типа объекта, вследствие чего картинка воспринимается абсолютно целостной.

Не очень понимаю что такое точное и неточное попадание текселя в экран, он либо попадает либо нет. Проблема в том что в ту же самую точку на экране попадают ещё пара десятков других текселей. Если без сглаживания, то на определенном расстоянии получается каша, а не "целостная картинка", вон я там скриншот из King's Field приложил, или даже Дум 2 какой-нибудь, разве он целостный? Ну то есть да, с точки зрения палитры-целостный, безусловно. Но с точки зрения того как ощущается пространство, он распадается на область где можно легко разглядеть поверхности, и полную кашу, где ничего разглядеть нельзя. То же самое кстати, что и картинка обработанная Sharpen с большими коэффициентами.

Сообщить модератору | | IP: Записан
Сообщение: 173190

Старое сообщение 20-06-2018 08:59
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 21896
Нанёс повреждений: 360 ед.

Рейтинг



Цитата:
Crystallize писал:
мипмапы придумали для борьбы с этим, чтобы не мигало.

мипмапы - это precompute. Быстрее получается использовать заранее даунскейленные картинки, чем на лету каждый раз заново.

Цитата:
Crystallize писал:
нужно пересчитать всю геометрию с учётом вот этого сдвига и поворота.

Да нет какого-то волшебного сдвига и поворота, при котором геометрию не надо пересчитывать. При любом надо.

Цитата:
Crystallize писал:
Мы всё равно находим среднее между двумя значениями

Среднее между двумя - это линейная интерполяция, самая примитивная.

Цитата:
Crystallize писал:
Вся история развития компьютерной графики до появления ускорителей выглядела как говно? И картинка с видеокассет тоже?

Я про sharpen-фильтр.

Цитата:
Crystallize писал:
Дум 2 какой-нибудь, разве он целостный

Естественно.

В этом плане больше всего подходят воксели, т.к. они не трансформируются, а попадают на экран практически напрямую.

Цитата:
Crystallize писал:
вон я там скриншот из King's Field

На твоём скриншоте
1. нет освещения, мозгу тяжело построить объем
2. одинаковая текстура на всех поверхностях еще более затрудняет этот процесс
3. еще и сама текстура какая-то уродская.
4. ты специально маленькую картинку выложил, на которой ничего не разобрать.

__________________
В действительности всё может оказаться иначе, чем оно есть на самом деле

My Projects: download page

Сообщить модератору | | IP: Записан
Сообщение: 173191

Старое сообщение 20-06-2018 09:24
-
Chyvachok
Житель форума

Дата регистрации: Jul 2011
Проживает: (void)
Сообщений: 1417

Рейтинг



Вообще честно говоря прогресса в играх я особого не вижу, только требования растут, и графика лучше только в каких-то крутых ААА проектах, в той же индюшатине графика зачастую просто убогая и требования при этом высокие, особенно если на Юнити или УЕ4, что геймплей, что физика не сильно улучшились, взять тот же первый Кризис, и требования нормальные, я на своем компе вполне мог в него играть пока моя старючая видеокарта живая была, и графон очень неплох по современным меркам, тот же Пубг хуже выглядит, сами локации при этом большие довольно, и неплохая физика мира вроде разрушаемости окружения с ломаемыми пальмами и лачугами, не говоря о мебели, а если вспомнить Red Faction Guerilla то там вообще божественная разрушаемость, в то время как во многих играх мир вообще статичный, даже кружки и бутылки от выстрелов со стола не отскакивают.

Сообщить модератору | | IP: Записан
Сообщение: 173213

Старое сообщение 22-06-2018 16:12
- За что?
qishmish
Житель форума

Дата регистрации: Jun 2007
Проживает: (void)
Сообщений: 988

Рейтинг



Цитата:
ты специально маленькую картинку выложил, на которой ничего не разобрать.


Ну 320х240 - нативное разрешение для игры 1994го. Хотя можно в эмуле и фуллхд задрать.

p.s.
ну и рожи там) у деревьев

__________________
Dr. Bowman: "So what was it?"
Sly: "Anachronox! Man, you guys are dumb."
Dr. Bowman: "But... You said it started with a 'U'."
Sly: "Yeah I know."

Отредактировано qishmish 07-07-2018 в 18:19

Сообщить модератору | | IP: Записан
Сообщение: 173272

Старое сообщение 07-07-2018 18:17
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 19:55. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Компьютерные игры > Современная культура в общем и игры в частности - Часть 2
Детализация и палитра картинки в играх
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Chain Studios © 2005-2018

Рейтинг@Mail.ru