January 28th, 2007

msme

Shaders and stuff - part 2: NV

NV - чудо-компания, законодатель мод, технологий и прочего-прочего в 3D-графике. Не знаю уж как там Интел и NV нынче друг на друга поглядывают в свете покупки ATI, но NV по-прежнему не интересует никакой опыт и стандарт, кроме собственного. Это не то что сильно плохо, мы вот тоже такое любим делать, но остроты жизни серьезно добавляет. Кому добавляет - понятное дело, написателю драйвера и тому, кто этот драйвер пользует, то есть простому негру-девелоперу. Если ATI выпускает железобетонно-простые и быстрые железки, то NV выпускает неонку, у которой внутре вселенная. Так как номер поколения карт уже приближается к десятке, то как эта неонка работает - понимает все меньше и меньше народу, подозреваю даже в самой NV. Оно опять же показательно с точки зрения того, как накапливается легаси, если строить следующее железо на плечах предыдущего.

Вся история NV-карт - история о комбайнерах.

Collapse )

История NV - история собственных стандартов, технологических изобретений и длинного шлейфа OGL-расширений как результата всего этого, но больше всего - история эволюции комбайнеров. Комбайнеры, обрастая фичами, костылями, прикрученными сбоку ALU, особым фреймворком вокруг и так далее - спокойно просуществовали до наших дней. Вы представляете, какой объем работы надо выполнить драйверу, чтобы разложить ps.3.0 шейдер в сотни инструкций до элементов, с которыми работала Riva TNT?
Даже в хардверном бизнесе, когда гораздо легче незаметно подменить железо и написать компилятор в обратную совместимость - все те же проблемы легаси вылезают точно так же, как и в софте. Сделали одно решение, оно потянуло за собой другое, потом мы сделали workaround, потом сделали сверху что-то, что может преобразовать сложное в то, что может быть вычислено старыми способами (словив при этом все проблемы оверхеда), потом решили передизайнить, но этот преобразователь остался, и так далее.

The greatest programming project of all took six days; on the seventh day the programmer rested.
We've been trying to debug the !@#$%* thing ever since. Moral: design before you implement.
(спасибо some41)

Разума и осознания всем нам :)

Отдельное огромное спасибо goes to ironpeter и boris_batkin.
msme

Мужики, вы не поверите - у меня первый пост по заказу!

ropotov находится в поиске оригинальных игр для NV1 (она же Diamond Edge 3D, STG-2000). Пожалуйста откликнитесь, очень нужно получить как минимум EXEшники с тех дисков для ретро-обзора, поиск уже идёт несколько лет! Эта самая первая видяшка NVidia работала с quadами, а не с triangles. В список NV1-поддерживаемых игр входят, по видимости, только игры компании SEGA: Nascar Racing, Panzer Dragoon и Virtua Fighter Remix, всё выходило в районе 95-ого года.