Кто считает поддержку микро$офтовского проприетарного говноапи Direct3D в играх необходимой или хотя бы полезной, отписывайтесь в теме. Я всеръёз задумался над этим.
Разумеется, вопрос не предполагает замену существующего OpenGL-рендера. Только как переключаемую альтернативу, а ля хл1.
Ну я вижу три причины как минимум:
1) Чтобы двиг нормально работал в системе среднестатистического ламера, который после установки винды сразу приступает к работе, не заморачиваясь дровами на видео (в халфе, я так понимаю, д3д-рендерер для этого и был сделан).
2) Большая стабильность - "глючит в режиме огл? попробуй режим д3д" или наоборот.
3) Потенциальная возможность порта под Х@ящик.
у меня всегда было строго наоборот. если игра на д3д, так обязательно с графикой что ни будь неладно. иногда по мелочам, но обязательно будет.
на старом компе в хл1 туман под водой не давал ниего разглядеть, а в дракане текстуры съезжали с треугольников, на следующем компе в хл2 туман затуманивал модели и мир разным цветом, л4д2 на новом компе вообще синий экран из за какого то эффекта выдавал. давно уже приобрёл стойкое к нему отвращение.
д3д -- говно гнидо(вц)ское, наиговённейшее. хуже не придумаешь.
Огл тоже постоянно глючит, ичсх - может глючить на одной и той же видюхе и одной и той же версии дров (разница была лишь AGP vs PCIE). Или история с матрицами текстур на какой-то версии каталиста, где они после инициализации огл не ставили их в единичные (а должны были, согласно спецификации).
Про глючность д3д и следование его спецификациям ничего сказать не могу, т.к. работал очень давно и вообще с дх7. Надо пробовать. Какой там самый хороший? 9.0с? У меня как раз есть его сдк.
XaeroX писал: (в халфе, я так понимаю, д3д-рендерер для этого и был сделан).
халфа слегка старая уже. И на 1998 год любой среднестатистический ламер умел устанавливать дрова на видяху, инфа 100%.
Я думаю дело было в другом: поскольку в 1998 году было тотальное засилье 3dfx, это могло глючить и тормозить у некоторых товарищей даже с miniGL-драйвером. Чтобы гарантированно избежать таких проблем была сделана прокся под д3д.
Цитата:
XaeroX писал: Или история с матрицами текстур на какой-то версии каталиста
Дядя Миша писал: Чтобы гарантированно избежать таких проблем была сделана прокся под д3д.
Угу, особенно учитывая то, что до 2000-х годов ДХ был глючнее и тормознее на порядок. А уж ещё раньше... Бедняга Кармак имел "счастье" познакомиться с Direct3D в 1996 году:
Цитата:
Direct-3D IM is a horribly broken API. It inflicts great pain and suffering on the programmers using it, without returning any significant advantages.I don’t think there is ANY market segment that D3D is apropriate for, OpenGL seems to work just fine for everything from quake to softimage. There is no good technical reason for the existance of D3D
Правда, попал пальцем в небо, но это беда всех предсказателей.
XaeroX писал: Угу, особенно учитывая то, что до 2000-х годов ДХ был глючнее и тормознее на порядок.
грамотно реализоватый DXQuake (не D3DQuake, а именно DXQuake, был и такой) имеет фпс ничуть неотличимый от GLQuake. Ну мож на 1-2% меньше. Реализован был на DX7. Собственно первоквака, равно как и халфа не имели каких-то особенных претензий к аппаратной части - большинство расчётов выполнялось на CPU. От openGL и D3D требовался лишь базовый набор: отрисовка полигонов в 3Д, отрисовка ортогональных полигонов и всё. Подобную функциональность имел даже пресловутый DX6.
Добавлено 12-05-2011 в 18:42:
Цитата:
XaeroX писал: Правда, попал пальцем в небо, но это беда всех предсказателей.
ну учитывая, что говно насильно пропихивают за деньги - никакой ошибки тут нету. Это характерная черта нынешнего маркетинга:
Если мы продаем говно и его никто не покупает, надо срочно развернуть рекламную компанию и дать на лапу кому следует, не меняя сам продукт.
В 1996 году это было гораздо менее выражено. Тогда еще старались хоть как-то исправлять объективно заметные недостатки. Отсюда и ошибка Кармака.
И вовсе это не главное.
Главное - стабильность и совместимость.
Тебе понравится играть в игру, которая выдает шикарную графику при 500 фпс на GeForce 8800GT, и при этом работает только на GeForce 8800GT?
Если пошла такая пьянка - мне DX-проксю совсем несложно прикрутить.
Благо таковая уже имеется в FTEQuake. её оттуда просто взять и к ксашу приструнить. И будет поддержка DX7.
Ох и Ксерокс, сам чего-нибудь придумает и всех вокруг заразит.