Pull to refresh

Comments 62

Это было так же интересно, как и про PowerVR https://geektimes.ru/post/258976/
Звучит иронично. Но спасибо :)
Прочитал наверное 1 пятую(пока времени нет)
Статья интересная, но ошибок куча по всей видимости

>Но какой из языков шейдеров предпочесть и что от этого зависит? С такими нюансами, увы я не познакомлю
Почему не познакомите ??? Сказать что GLSL это Opengl, а HLSL это DirectX — что это так сложно? И написание шейдеров не зависит от выбора программера в целом, а больше зависит от апи, на котором ведется разработка. Ну и про поделку CG можно было б хоть что-то написать в 2х словах.

>И правда, первые сколько-нибудь известные мощные игры под DX9 (такие как DooM3,
DooM3 написан на OpenGL(как и большинство игр Кармака) — при чем тут DX вообще?
Почему не познакомите ??? Сказать что GLSL это Opengl, а HLSL это DirectX — что это так сложно? И написание шейдеров не зависит от выбора программера в целом, а больше зависит от апи, на котором ведется разработка. Ну и про поделку CG можно было б хоть что-то написать в 2х словах.


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

DooM3 написан на OpenGL(как и большинство игр Кармака) — при чем тут DX вообще?


Да, тут ошибся, признаю. Но в дальнейшем этого не скрыл. Это откровение будет примерно на 4-ой из 5-ти частей по вашему расчёту.
«Так было, например, с GeForce MX 440 (NV18), которому с определённой версии дров запилили эмуляцию аж SM2.0»
А не подскажите в какой именно версии была эмуляция?
Интерес практический.
Одно только качество написания статьи заслуживает огромного уважения. Спасибо за несколько минут ностальгии. Прочиталось на одном дыхании, несмотря на то, что никогда детально не разбирался в тонкостях работы видеокарт.
Ну вот, теперь, когда это было написано рид-онли юзером, можно сказать, что статья удалась. Большое спасибо!
Автор! Ну как так можно? Только первая картинка уже весит больше 2 мегабайт!!! С утра ты мне конечно очень хороший подарок по трафику преподнес. Не надо так.
Да, тут оплошал. Но мне местные админы уже поставили дэнжэр в аннотации, так что вы честно заслужили медаль альфа-тестера.
Спасибо за пост. Эх, былая юность… Помню как на моей FX5200 был баг- пока не нагреется работала плохо. Поэтому я грел её феном а потом запускал комп и играл. А потом её заменил Radeon 9550, которую я продал и купил 9600PRO. Она неплохо всё тянула. После скринов похоже придётся снова установить NFS Most Wanted и поиграть в него.
Вам нужно было положить вашу FX5200 в микроволновку, это бы решило вопрос раз и навсегда: либо заработает, либо нет.
А с 9600 PRO я как раз начал свою геймерскую жизнь. Но потом как-то откатился на S3Trio64 + 3dfx, ну и вот в общем, такие вещи получились…
Кстати, пожалуй, что Мост Вонтэд я тестировал скрипя зубами: ну так охота было включить звук… ну вы понимаете :)
Старожилам первое демо с феей известно двумя вещами:
1) патчи для модификации текстур персонажа (в первую очередь прорачность одежды)
2) демонстрацией крайне низкой производительности шейдеров 2.0 у карт NVIDIA того времени. и никакие оптимизации не могли это исправить. Специальный патч снимавший блокировку запуска демо на картах ATi показывал значительно более высокую производительность Rаdeon, при гораздо меньшей цене и энергопотреблении.
Это какое-то повстанческое радио? По-вашему, кто здесь все эти люди, отписавшиеся в коментах?
Да даже давайте так: какие игры для вас — старые?

Хотя про патчи текстур я, и правда, не знал. А по-научному это как называлось?
На момент выхода GeForce FX 5800 (NV30) на дворе уже более квартала забавлялся конкурент в лице Radeon 9700 Pro (ATI R300). Это был февраль 2003 года. Сегодня такое промедление смерти подобно, и вот именно поэтому можно смело назвать 2003 год не иначе, как годом NVIDIA.

О чём хотел сказать автор этим абзацем? В первом квартале 2003-го ATi представила R350 с шейдерами версии 2.0+ не для галочки, а с вполне играбельной производительностью. NVIDIA оставалось лишь выпускать демки с программной блокировкой запуска на картах конкурента. Годом NVIDIA стал 2004-ый, с выходом NV40.
Мы, Николай II, как бы намекаем, что в этот год NVIDIA просто чудом удержалась на рынке. Так грамотно просрать сначала сроки, а потом и продажи хай-энд и миддл сегмента — это талант.

З.Ы. про NV40 я вообще-то не забыл.
Благодарю, цветов не нужно.
Есть только один вопрос по поводу HDR. Обычно под этой аббревиатурой подразумевают искусственное сужение слишком широкого динамического диапазона с целью поместить его целиком в аппарат, не обладающий нужной чувствительностью (человеческий глаз, файл с 8-битной кодировкой цвета). А в играх это получается ровно наоборот (выходишь из темноты — слепит, заходишь в подвал — чернота, пока глаза не привыкнут), так что ли?
Ну то есть да, получается более естественно, но HDR это назвать как-то неожиданно…
Все верно. Мы фп16/32 буффер ужимает до диапазона 0-1, и получаем в резутьтате еще более гладкие переходы на освещенных поверхностях. Видели как в том же дум3 полосит туман или освещение? Хдр это поправит.
Я бы сказал, что в Думе3 освещение — вообще редкость. Так что, то, что оно там «иногда полосит» — уже за счастье.
) Не знаю — не знаю, у меня даже на гф3 темно не было) А нарочито темные места — это из за сюжета игры-дизайна. Движок тут не причем.
Обычно


Обычно? Что вы понимаете под этим в данном контексте? Лично я дал в тексте ссылку на випипипендию, которая замечательно проясняет все ваши туманные представления. Может быть, термин действительно заимствован из фото-индустрии, но Мистер Фриман бы с вами не согласился.
Да, вроде ничего так получился, спасибо ;)
Спасибо, титаническая работа! Удивляет, что кто-то ещё интересуется таким старым железом. Кстати, мне было особенно интересно прочитать (хоть я не специалист в 3Д-графике), т.к. моей первой видеокартой была как раз GeForce FX 5200 128MB, да и большинство описанных игр я в своё время прошел.
То есть, то, что статью я писал без малого год, вас не особо удивляет, но вот тот факт, что старьём интересуется столько народу, что на него взлетели цены на ебае, вот это вас серьёзно шокирует?

Я вообще-то тоже не специалист и даже не программист. Тут всё-таки немного другой навык нужен.
цены могли повзлетать и по вполне прозаическим причинам, из серии что эти платы берут для замены таких же, но выходящих из строя в каких-нить железках, замена которых затруднена до уровня «проще дать, чем объяснить почему не можешь».
первая картинка из раздела «драйвера» с артефактами, это ведь porsche unleashed? я ведь теперь не усну :)
Если хотите спать, вам не нужно читать этот комментарий.
По поводу ультрашадовз, инфа не полная.
Забыли двухсторонний стенцил (отрисовка теневого объема за один проход)
было
	glCullFace(GL_FRONT);
	glStencilOp(GL_KEEP, GL_INCR, GL_KEEP);
РисуемВолум();

	glCullFace(GL_BACK);
	glStencilOp(GL_KEEP, GL_DECR, GL_KEEP);
РисуемВолум();

стало
        glDisable(GL_CULL_FACE);
	qglStencilFuncSeparateATI(GL_ALWAYS, GL_ALWAYS, 0, ~0);
	qglStencilOpSeparateATI(GL_FRONT, GL_KEEP, GL_INCR_WRAP_EXT, GL_KEEP);
	qglStencilOpSeparateATI(GL_BACK, GL_KEEP, GL_DECR_WRAP_EXT, GL_KEEP);
РисуемВолум();
	glEnable(GL_CULL_FACE);


У нвидии было свое расширение (EXT_stencil_two_side), но в ядро гл2 вошел именно вариант от АТИ.
Про депт боундз написали уже, я только уточню, что это по сути тот-же сциссор тест, но по Z, котоый появился у амд только во времена дх11 карт.
Также движок может вытягивать тени не на цпу, а на вершиннике видео карты. Кармак это назвал Turbo Shadows.
Ну и еще одна аппаратная возможность нв30 — писать за такт в двое больше пикселов если идет записть в депт-стенцил.
О чёрт, да как же мог я забыть вставить пару сотен строк шейдерного кода в и без того длинную статью не о прикладном программировании, а? И баги потом вместе поправим, да? :D

Серьёзно, это, конечно, интересно, что вы тут написали. Но для этой статьи был бы перебор. Но интересно. Но перебор.
Это не шейдерный код, а просто отрисовка теневого объема «было» и «стало». Я к чему это еще вспомнил, этот двухсторонний стенцил был вмурован в их CineFX как и депт боундз. Как сказать для полноты картины)
Самая интересная статья за последнее время. Автору большое спасибо :)
Да на здоровье. Говорят, от скуки страшно болеют, а?
Я в свое время поменял свой ti4600 на fx5200 (с доплатой...) ради первой Dawn. Уж очень хотелось поглядеть на это чудо. На ti4600 ее можно было глянуть только с девелоперской версией DX и со включенным reference rasterizer. Как это вяжется с тем что демка на OpenGL мне до сих пор не понятно… Но 1 кадр в 20 секунд давало. Хотя вот сейчас глянул там используются текстурки в DDS (DirectDrawSurface) видимо какая-то каша из 2х апи.
DDS вообще-то к д3д никак не привязан) Это просто формат текстуры такой)
Я в свое время поменял свой ti4600 на fx5200 (с доплатой...) ради первой Dawn


Ну вы понимаете, что вы — жертва маркетинговых реперссий, да? :)

Надо же, ведь и правда на OGL! Как-то я не обратил внимания, знаете ли…
|Только первая — уже ДВА мегабайта.
Ага, jpeg для текста и не к такому приводит
Что-то неверное вы понимаете под HDR. Я в скриншотах от Far Cry не увидел никакого HDR, обычный LDR. Особенно это видно по бледному солнцу в кадре из-под воды.
Ну, наверное. А вы что под этим понимаете?
Если кратко, то в этом конкретном случае это значит, что поддерживаются текстуры с высоким динамическим диапазоном, например fp16, в качестве Render Target.
Это означает, что цвет пикселя-текселя не будет ограничен значениями в диапазоне [0;1].
Наличие HDR выражалось бы в наличии ярких цветов в отражениях/преломлениях, но их там не видно. Первый скриншот из Far Cry вообще не очень подходит для иллюстрации, ибо там нет ярких объектов в кадре. А на втором солнце тусклое, что может говорить об LDR. А может и не говорить, все зависит от того, как оно реализовано.
Различия в скриншотах обусловлены вовсе не HDR, а тупым наличием/отсутствием преломления и отражений.
Ах, вот оно что. Дело в том, что этими шотами я демонстрирую наличие/отсутствие шейдрной водички. Пример с солнцем нужно смотреть на Мистере Фримэне в самом начале статьи.
А как удалось получить около 80 fps в Doom 3?
Если память мне не изменяет, то ванильная игра либо залочена на 62.5, либо на частоту обновления монитора. Исключения — встроенный бенчмарк, но в нем при превышении частоты поломано все, что на неё опирается включая скорость перемещения, физику, анимации и тд.
Величайшее оружие джедая — патчи. Величайшая способность джедая — настройка vsync
А если подробнее, то что за патчи? Лок при отключении vsync из меню и уж, тем более, из настроек драйвера никуда не пропадает.
Однако, меню уже давно должным образом не работает и возникат необходимость редактирования DoomConfig.cfg вручную,
например
https://www.doomworld.com/vb/doom-3-general/89604-doom3-stuck-on-low-settings-solved/
, нет ли здесь чего аналогичного с отключением синхронизации?
Слушайте, ну элементарно всё. В драйверах выключаете vsync, ставите последний патч, в игре отключаете vsync.
Увы, последний патч 1.3.1 вышел в 2006-7 годах, исправлял совместимость с вистой и уже установлен в стимовской версии.
Касательно настроек драйвера:
https://s16.postimg.org/gxahazthv/176.png

А, извините, но не стимовской версии, ни вин10 у меня нет.
Стимовская или нет — неважно, главное — номер версии. Для более поздних даже откатывающие патчи были, необходимые для запуска некоторых модов, которые вышли раньше.
И, немного оффтопа, нет, это 8.1. 10 конфликтовала с периферией ноута.
Ок, тогда, я помню, как тестировал 1.3.1 для англичанки, экспериментальный 1.3.1.4 для россиянки. А также, непатченную пиратку, номер версии которой есть на скрине с консолькой. На одной из этих версий вы должны увидеть то, что хотите.
Ок, спасибо, как соберусь с силами скачать и затестить — отпишусь сразу.
И да, на какой ОС проводились тесты?
И под заключение, извиняюсь, что ошибся с веткой ответа, под конец дня взгляд не так внимателен, как хотелось бы.
Да не за что, честно сказать, я не помню, потому что эта статья — результат годовой работы. Я тестировал, курил, тестировал, снова курил и так до победного каждый свободный дождливый день. Я перепробовал столько вариантов, что наверняка сказать не берусь. Но, вероятнее всего, столько фпс у меня получилось на вистеx64 с видеокартой gts 450, так как это основная моя рабочая система. А вот версия, скорее всего, была та пиратка, что на скрине. Её образ можно легко найти в сети на том же пиратбее, я думаю.
О нет, что вы, я всего лишь один из этих… как же их… гиков.
Таким образом, вопреки нашим ожиданиям, увидеть TruForm можно было только при условии, что игра её действительно поддерживает. Ох уж эти маркетологи, а! Ладно, раз форсировать её на все игры подряд нельзя, то где же тогда можно её посмотреть? На той же википедии нам предлагают небольшой список из, в основном, игр со сторонними патчами под TruForm, что несколько неаутентично. Если же говорить про игры с родной поддержкой TruForm, без сомнения, большинство впервые увидело истинные формы Серьёзного Сэма. Поскольку я лично к его формам никакой симпатии не питаю, рискну предложить вам взглянуть на истинные формы Neverwinter Nights:


Работал этот форсаж (активация в любых, даже не поддерживающих изначально играх) через драйверы. Может в каких-то версиях драйвером потом порезали принудительную активацию, но точно помню как развлекался включая принудительно TruForm через драйвер на своем Radeon 9600 Pro и наблюдая как в разных играх помимо сглаживания везде вылезают разные округлости и припухлости. Где-то оказывающиеся очень в тему (слаживание и детализация без острых углов/граней), а где-то получающаяся неуместной — некоторые 3d модели начинали напоминать детские игрушки/фигурки свернутые клоуном из длинных надувных шариков.
Хотя с ящиками и другими крупными элементами, которые однозначно должны иметь прямоугольную/квадратную форму никаких проблем не было. Алгоритм не совсем тупой был и сглаживал не все углы на стыке полигонов порядряд, а похоже только углы попадающие в какой-то диапазон

Точно работало в Serious Sam (не понравилось, выключил), Elder Scrolls III: Morrowind (скорее понравилось, играл с форсированным TruForm). Вроде работало Warcraft 3 и Max Payne но тут склероз может и подвести…
Любопытно, я натыкался на старые обсуждения вроде того, что вы пишите, но…

Во-первых, совершенно точно, что порезали. Даже на моём шоте видно словосочетание: application preference.
Ну а, во-вторых, не знаю, как в последних двух, а в Сэме и Тэсе, извините, поддержа труформ официально заявлена. Так что вопрос, не подводит ли память.
В TES 3 поддержки нет если верить приведенной в статье ссылке со списком игр, так же как в W3 и Максе — только в Сэме заявлена.

Хотя во времена TES 3 на него столько патчей и аддонов ставилось, что теоретически вместе с каким-то из них «за компанию» могла и поддержка TruForm пропатчится.
UFO just landed and posted this here
Нормальный сейчас AF. У вас в чем-то другом причина. Например игра не включает AF сама. Включите принудительно в драйверах.
Плохо, что народ не ходит по ссылкам, даже когда заинтересован в этом. Современных не имею понятия, но ведь для тестов современные и не нужны по большому-то счёту. Можно начать, например, с того, что я уже упоминал. А ещё можно попробовать одну из множества этих. Думаю, одна из них вас точно устроит.
Sign up to leave a comment.

Articles