LINUX.ORG.RU
ФорумTalks

[история успеха] Direct3D > OpenGL

 


0

0

«First-person shooter godfather and OpenGL stickler John Carmack has revealed that he now prefers Direct3D to OpenGL, saying that 'inertia' is the main reason why id Software has stuck by the cross-platform 3D graphics API for years. In a recent interview, the co-founder of id Software said, 'I actually think that Direct3D is a rather better API today.' He added, 'Microsoft had the courage to continue making significant incompatible changes to improve the API, while OpenGL has been held back by compatibility concerns. Direct3D handles multi-threading better, and newer versions manage state better.'»

http://games.slashdot.org/story/11/03/11/1832205/Doom-Creator-Says-Direct3D-Is-Now-Better-Than-OpenGL

tl;dr Джон Кармак говорит, что, де, у Direct3D API лучше, лучше мультитрединг и вообще, OpenGL мы используем потому как инерция.

Таки дела.

Deleted

OpenGL используем потому, что Direct 3D закрыт и проприетарен. Как следствие - невозможность создания портабельных приложений. Только и всего.
А вообще уровни у них разные. OpenGL более низкоуровнен.

Quasar ★★★★★
()
Ответ на: комментарий от vurdalak

vurdalak> Мой препод по компьютерной графике

Дальше можно не читать. Всё же...

vurdalak> сегодня назвал OpenGL мусором и сказал, что он умер десятки лет назад.

Дык - обратная совместимость же. Сомневаюсь, что у Direct 3D ситуация лучше.

Quasar ★★★★★
()
Ответ на: комментарий от vurdalak

vurdalak> И вообще, в тексте сказано, что openGL из-за совместимости тянет за собой кучу балласта, а микро$офт улучшают, делая его несовместимым с предыдущими версиями.

Ну тогда всё ясно.

Stable API is Nonscence

Quasar ★★★★★
()
Ответ на: комментарий от spoilt

spoilt> DirectX хреново портируется на дейвасы отличные от PC/Xbox360

Он отлично портируется везде. Просто мелкософт держит эту библиотеку при себе, и не даёт вообще никому. Только и всего.
Вон - для Gallium 3D уже начали писать реализацию Direct 3D.

Quasar ★★★★★
()
Ответ на: комментарий от evoken

evoken> И что? Что doom 3 гогно вышел, что doom iv будет гогном.

DooM 4 ещё не вышел. И неизвестно, что Кармак нам припас. Doom3 - действительно не ахти, но движок там прекраснейший для своего времени. Тот же автор Darkplaces так жёстко набыдлокодил с освещением, что на видеокартах, где Doom 3 спокойно бегал на ультравысшем качестве, Darkplaces тормозил ОЧЕНЬ сильно.

Quasar ★★★★★
()
Ответ на: комментарий от evoken

evoken> Последняя надежда остается на DN Forever, если хотя бы что-то подобное угарному геймплею Duke3D выпустят, будет эпик вин.

Duke 3D - слишком унылый по играбельности. Тот же DooM II: Hell on Earth его спокойно уделывает.

Quasar ★★★★★
()
Ответ на: комментарий от iBliss

iBliss> А то, что Кармак говорит увы правильно. Революционное развитие линуха увы затухает, вместо инновационных вбросов в своё время, он на данный момент может похвастать только 100500 плеерами и нотепадами на пистонах и моно.

Об этом он ни слова не сказал. Читай внимательнее.

Quasar ★★★★★
()
Ответ на: комментарий от Quasar

>Doom3 - действительно не ахти, но движок там прекраснейший для своего времени.
угу, конечно... напомнить, эпичные тормоза на видюхах того времени?
я его даже на своей GT240 не могу запустить на ультра - фпсить начинает

TERRANZ ★★★★
()
Ответ на: комментарий от TERRANZ

Что? На GeForce 2 на низкой графике - работает! И это без шейдеров (пришлось добавлять поддержку из-за небольшого сканала). GeForce 7600 - работает на ультре! 9800 - работает на ультре с 16x сглаживанием без падения FPS ниже 30. Предлагаю разгон... GT240 может быть по скорости как 7600.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от Quasar

> OpenGL более низкоуровнен.
С чего это вдруг? Ты Direct3D видел/пейсал на нём?

Raving_Zealot ★★
()
Ответ на: комментарий от Quasar

>но движок там прекраснейший для своего времени

… только не видно ничего</trololo>

Deleted
()
Ответ на: комментарий от runtime

OpenGL rip уже давно

непонятно только, почему его не оживляют дотягивают до уровня DirectX - даже не пытаются!

stevejobs ★★★★☆
()
Ответ на: комментарий от iSage

Ну давай, покажи мне аналог sceGuDispBuffer в OpenGL ES, например.

Хм, рекомендую тогда на будущее точнее изьясняться(собственно как и мне тоже это бы не помешало 8)). Я ведь ждал пруфов на то, что там OpenGL ES не работает, т.е. какие-то функции от OpenGL ES 1.0 совсем не такие/etc., а не доп. функционал который добавила Sony(про фичи из ES 2.0 и Cg я писал, мало ли чего они ещё втюхали).

Andru ★★★★
()
Ответ на: комментарий от Quasar

> Stable API is Nonscence

для всех, ниасиливших COM и возможность выбирать версию библиотеки, вместо обязательного использования самой последней версии.

stevejobs ★★★★☆
()
Ответ на: комментарий от vurdalak

>Мой препод по компьютерной графике сегодня назвал OpenGL мусором и сказал, что он умер десятки лет назад.

Скажи преподу что он сам ... Если он по играм судит, то его давно пора ... :)

Пусть он Майю на прямроиксе запустит. Тогда посмотрим.

adepto
()
Ответ на: комментарий от iBliss

> Революционное развитие линуха увы затухает, вместо инновационных вбросов в своё время,

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

P.S. Про то, что Solaris zones были уже давно, напоминать не надо, потому что речь не о фишках, а о развитии (да и Virtuozzo существует уже давно).

tailgunner ★★★★★
()
Ответ на: комментарий от vurdalak

> Мой препод по компьютерной графике сегодня назвал OpenGL мусором и сказал, что он умер десятки лет назад.

Я думаю, препод под «он» подразумевал себя. «Десятки» назад OpenGL просто не было %) Разве что он умер еще на стадии IrisGL.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Навскидку - контейнеры и RT.

Я про десктоп. Промышленные плюшки к нему никаким местом.

Назовешь еще хоть одну систему, которая по скорости развития в этих направлениях обгоняет Linux?

Нет, про RT я не в теме. А виртуализация... а её тупо не с чем сравнивать. Zones - слишком медленно развиваются+даже на момент появляния у них была куча косяков склонявших к пользованию либо честной эмуляции либо контейнеров. Vmware - чисто местячковое решение для лабораторий. Так что тут просто нет конкурентов.

iBliss
()
Ответ на: комментарий от note173

в d3dx nurbs есть, но кому он нужен сейчас

А как вы сглаженные поверхности выводить предполагаете? NURBS - как раз то, что нужно.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> А как вы сглаженные поверхности выводить предполагаете? NURBS - как раз то, что нужно.

Тесселяция же. А NURBS сейчас никому не нужны.

ntp
()
Ответ на: комментарий от Quasar

> Doom3 - действительно не ахти, но движок там прекраснейший для своего времени.

На прекраснейшем движке idTech4 не выпущено и 10 игр, а сами id продались издателю всяких обливионов, чтобы не обанкротиться. Эпики и unreal engine с улыбкой смотрят на бывшего конкурента.

DooM 4 ещё не вышел. И неизвестно, что Кармак нам припас

Если судить по Rage, то они двигаются в правильном направлении: регенерация здоровья есть, ironsight есть, самонаводящиеся бумеранги есть, даже покатушки на машинках сделали - одобряю.

ntp
()
Ответ на: комментарий от ntp

Какая, нафиг, тесселяция? Кривые Безье вам такие выбросы дадут... NURBS - единственный наипростейший способ аппроксимации поверхностей.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от iBliss

>> Навскидку - контейнеры и RT.

Я про десктоп. Промышленные плюшки к нему никаким местом.

Ха. Если в Linux (в широком смысле) и было что-то инновационное, то это использование «промышленных» технологий для самых бытовых целей. Например, те же контейнеры будут основой systemd, который, в свою очередь, будет и на десктопе.

А в собственно десктопном мире последние инновации были лет 20 назад.

tailgunner ★★★★★
()
Ответ на: комментарий от Eddy_Em

> Какая, нафиг, тесселяция? Кривые Безье вам такие выбросы дадут...

Можно поподробней, а то что-то я не понимаю про какие вы выбросы говорите:
http://www.youtube.com/watch?v=9K8masjDBrI
http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter23.html

ntp
()
Ответ на: комментарий от spoilt

>Как бы OpenGL не особо ориентирован под игры.

Зато полно ориентированных идиотов.

Это id в свое время в наркоманском угаре выдала Quake на OpenGL


А что тогда было, кроме OpenGL и Glide от 3dfx?

спасибо id Software


Эта говноконтора после «Dangerous Dave in the Haunted Mansion» ничего стоящего не сделала, а OpenGL там никаким боком.

madcore ★★★★★
()
Ответ на: комментарий от tailgunner

> Например, те же контейнеры будут основой systemd,

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

который, в свою очередь, будет и на десктопе.

Только не у меня. Systemd - это вообще плод больной фантазии.

iBliss
()
Ответ на: комментарий от iBliss

>> Например, те же контейнеры будут основой systemd,

Убил бы. Контейнеризация на десктопе, это идиотизм.

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

Только не у меня.

У тебя - в первую очередь, ибо у тебя Федора %)

Systemd - это вообще плод больной фантазии.

Ну, это уже другой вопрос.

tailgunner ★★★★★
()
Ответ на: комментарий от ntp

Да я все о своих пирогах. Есть изображение, его надо отобразить в виде трехмерной поверхности (т.е. интенсивность в каждом пикселе будет высотой). Если это делать тупо «в лоб», отрисовывая треугольниками, получается страшная «шипастая» поверхность. Т.о. для сглаживания необходимо сетку расширить, хотя бы раза в 4 по каждой координате, а вычислить промежуточные значения проще всего при помощи NURBS (они удобнее, чем интерполяция сплайнами, т.к. менее чувствительны к шумам).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от tailgunner

> Контейнеризация - это «nice на стероидах».

nice на стероида - квотинг, а в контеризации главная фишка - изоляция, но где она нужна на десктопах с монолитом? ХЗ. Или сначала будем городить мегасистему с изолиованными процессами, а поверх неё ещё одну систему, которая позволит пользовтелю хоть как то жить в условиях огораживания.

У тебя - в первую очередь, ибо у тебя Федора %)

У мну 14 в ней upstart. До 15 она скорее всего не доживёт, хороша, но не моё.

iBliss
()
Ответ на: комментарий от iBliss

>> Контейнеризация - это «nice на стероидах».

nice на стероида - квотинг

Контейнеры (в линуксовой терминологии) и есть квоты на ресурсы. Я говорю, если что, о lxc, а не о kvm.

tailgunner ★★★★★
()
Ответ на: комментарий от Eddy_Em

> для сглаживания необходимо сетку расширить, хотя бы раза в 4 по каждой координате, а вычислить промежуточные значения проще всего при помощи NURBS

Индустрия сделала свой выбор в пользу вычислений на GPU (и, да, NURBS никто не использует).

Вот, вроде бы, аналог вашей задачи (детализированная поверхность из карты высот): http://codeflow.org/entries/2010/nov/07/opengl-4-tessellation/

ntp
()
Ответ на: комментарий от ntp

Вот, вроде бы, аналог вашей задачи (детализированная поверхность из карты высот): http://codeflow.org/entries/2010/nov/07/opengl-4-tessellation/

Увы, не смог проверить: по ссылке есть два очень сильных недостатка: во-первых, нужен openGL4; во-вторых, код на питоне (т.е. мне от него 0 толку).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Quasar

>Там не OpenGL, а GLES

Это понятно, но оно таки очень похоже.

theos ★★★
()
Ответ на: комментарий от Fredrik

>Примерно то же самое.

Только в твоих фантазиях

theos ★★★
()

Я буду верен opengl ибо остались жуткие воспоминания, когда я пытался работать с диксом 5 лет назад, да и пока все устраивает :)

deterok ★★★★★
()
Ответ на: комментарий от Eddy_Em

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

d3d - это больше, чем апи для вывода 3д. Все, что можно сделать на d3d, можно сделать и на opengl, и наоборот. Просто directx постоянно допиливают, добавляют новые вспомогательные средства, выпускают кучу демок и примеров, поддерживают очень хорошую документацию.

note173 ★★★★★
()
Ответ на: комментарий от note173

directx постоянно допиливают, добавляют новые вспомогательные средства, выпускают кучу демок и примеров, поддерживают очень хорошую документацию.

Вы это к чему? Ваш «прямой Х» только в мастдае и работает...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> Ваш «прямой Х» только в мастдае и работает

http://en.wikipedia.org/wiki/Directx

«Direct3D (the 3D graphics API within DirectX) is widely used in the development of video games for Microsoft Windows, Microsoft Xbox, and Microsoft Xbox 360»

JustGuest
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.