Проект SchaeferGL (https://github.com/disks86/SchaeferGL), в рамках которого развивается высокопроизводительная реализация Direct3D 9 (https://en.wikipedia.org/wiki/Direct3D#Direct3D_9) (D3D9), выполненная в форме надстройки над кросс-платформенным API Vulkan (https://www.opennet.me/opennews/art.shtml?num=43887), отметил (http://techtinker.blogspot.ru/2016/05/schaefergl-first-miles... достижение уровня, на котором возможно выполнение первого приложения (https://github.com/disks86/SchaeferGL/wiki/Roadmap) из набора примеров D3D9. Исходные тексты SchaeferGL написаны на C++ и распространяются (https://github.com/disks86/SchaeferGL) под свободной лицензией zlib.
В качестве критерия успешности разработки SchaeferGL упомянуто (https://github.com/disks86/SchaeferGL/wiki) прохождение всех unit-тестов и обеспечение производительности на уровне 75% от оригинального D3D9. Из достоинств проекта отмечается предоставление поддержки Direct3D на оборудовании и программных платформах, изначально не поддерживаемых в D3D9. API Direct3D 9 выбран как имеющий наибольшее число поддерживающих его игр и более полно разобранный в процессе создания других альтернативных реализаций - Gallium Nine (https://www.opennet.me/opennews/art.shtml?num=37438) и WineD3D (https://www.opennet.me/opennews/art.shtml?num=37818).URL: https://www.reddit.com/r/linux/comments/4ns23u/direct3d_9_co.../
Новость: http://www.opennet.me/opennews/art.shtml?num=44593
Хорошее начинание, лиш бы M$ не засудил.Жалко что из-за опасений патентных исков
разработки аналогичных проектов не включают в стандартные поставки дистрибутивов, боюсь с этим проектом тоже самое будет.
И интересно как удалось решить проблему с отсутствующим 2 буфером (не помню чего точно) которые при переходе к 10 и старше версии Directх, убрали из-за ненадобности в аппаратной реализации видиокарт, и которое привело к тому что в некоторых приложениях новые видиокарточки катастрофически проигрывали старичкам.
> привело к тому что в некоторых приложениях новые видиокарточки катастрофически проигрывали старичкам.Это цена легаси. всё нормально..
Зато вот некоторые *другие* приложения -- вообще не смогут запуститься на старичковых карточках:-) ..
Еще одна реализация D3D 9? Но зачем?
Не, я конечно понимаю, что проще, но какой смысл делать DX9 еще раз, когда нужен DX11 хотя бы? Из спортивного интереса?
почему ты не сделал direct3d 11?
а ты почему не сделал, анон?
он делает d3d 9.
Не надо уметь готовить яишницу, чтобы быть способным оценить её вкус
> Не надо уметь готовить яишницу, чтобы быть способным оценить её вкусне надо начинать что-то делать, бо тогда не останется время на "закапывание" чужих начинаний.
Если ничего не делать, то на выходе ничего и не получится. Инфа 146%.
В жизни с такими людьми стараюсь свести общение к минимуму. Смысл рассказывать им идеи, если они могут только обосрать, сказать "не нужно", и приободрить что у меня ничего не получится? Люди ищут союзников и единомышленников, чтобы делать что-то вместе, проводить время.Видимо не я один их игнорирую, и вечноноющие одиночки перебрались в интернет)
Лично я стараюсь свести к минимуму общение с людьми, у которых единственный аргумент по жизни против любого рода критики - "сперва добейся".
Дают тебе, значит, суп попробовать, спрашивают вкус - говоришь "пресно", а тебе в ответ обиженно "а ты лучше приготовь, жопошник!!" вместо "спасибо, в следующий раз досолю" или даже "а мне самому нравится".
Среди опенсорсников это распространенная болезнь, насколько я могу судить.
Я отвечу на это двумя цитатами:"Критик должен быть готов и способен в любой момент и по первому требованию занять место критикуемого им и выполнять его дело продуктивно и компетентно; в противном случае критика превращается в наглую самодовлеющую силу и становится тормозом на пути культурного прогресса."
"Talk is cheap. Show me the code."
Процитировать Геббельса в доказательство своей правоты - это просто 10 из 10.
> Процитировать Геббельса в доказательство своей правоты - это просто 10 из 10.Я думал ты про Линуса скажешь, но хотя бы в том что на личности перейдёшь угадал :-D
Ты не понимаешь значения выражения "перейти на личности", ко всему прочему. Так что не вижу смысла что-либо добавить к этому.
вдобавок к подобному и всему прочему я не понимаю чего ты добиваешься :D
Ему просто обидно. Он считает что выразил неипатся важную вещь, а на деле не очень.
Просто я не привык пинать лежачего. Никакого удовлетворения от этого.
> Просто я не привык пинать лежачего. Никакого удовлетворения от этого.А чего он у тебя лежачий-то? Попробуй виагру.
Скабрезность уровня 8 класса начальной школы. Тот случай, когда ты хотел кого-то унизить, но он уже сделал за тебя всю работу.
Да вы критик-теоретик. И похоже, молоды. Сужу по вашему максимализму.
> Не надо уметь готовить яишницу, чтобы быть способным оценить её вкусВопрос не в умении, а в желании пробовать чужую яичницу и критиковать повара.
или не оплатил его разработку.
>какой смысл делать DX9 еще раз, когда нужен DX11 хотя бы?Если честно, то я совсем не уверен а нужен ли. Да и для DX9 я как-то не вижу применения.
>API Direct3D 9 выбран как имеющий наибольшее число поддерживающих его игр и более полно разобранный в процессе создания других альтернативных реализацийbecause we can
> Еще одна реализация D3D 9? Но зачем?
> Не, я конечно понимаю, что проще, но какой смысл делать DX9 еще
> раз, когда нужен DX11 хотя бы? Из спортивного интереса?DX9 не фига не простой, нужно восхищаться кто его сумел портировать.А D3D 10 и 11 версия и так входят в ари Open GL 4.2, правда приложение нужно скомпилировать с поддержкой Open GL,транслятора вызовов в стандарте нет.
>нужно восхищатьсяА-а-а! Т.е. это не для использования, а для восхищения? Ну как картины и прочие статуи -- практического применения нет, но могут иметь эстетическую ценность... Ок. Я сейчас немного занят, но вечером обязательно повосхищаюсь. Честно-честно.
> А-а-а! Т.е. это не для использования, а для восхищения?ну да.
Не, ну может когда-нибудь сможешь поиграть в старинную игрушку на линуксе (если ее кто-нибудь, конечно, портирует). Тоже в общем-то "потому что могу!"В целом, чо, прикольнаа... А кому надо чтоб работало - так тот давно с dx12, ну да, не в линуксе, не в том щастье.
Следует помнить, правда, что и линукс-то изначально был написан ровно по тому же поводу - "а че, прикольна..." и получил популярность больше в силу случайности. А так тогда тоже чесали репу - "еще один недоюникс для недожелеза? Зачем?"
объясните гуманитарию, в чем отличие сабжа от вайна, кроме вулканапи вместо опенгл?
Работает поверх Вулкан АПИ и судя по всему имеет низкоуровневый доступ к ресурсам видеокарты, не? Это же в новости написано, как читал?
Скорее всего производительность должна быть выше чем через опенгл (у него наверное 50% а не 75, не уверен). Хоть даже игры через прослойку и не оптимизированы под вулкан
А если OpenGL через вулкан запилить, он тоже быстрее будет?
Нет, не будет. Смысл тут в том, что Vulkan это низкоуровневое API с прямым доступом к железу, тогда как OpenGL — нет. Соответственно, при реализации D3D9 API на Vulkan можно добиться большей оптимизации. Возможно не хуже, а то и значительно лучше, чем у оригинала (тут уже зависит от прямоты рук и возможно не полной поддержке никем не используемых фичь оригинала). Добиться такой же производительности через трансляцию вызовов в вызовы OpenGL не получится из-за различий в API и необходимости обрабатывать corner-cases, что в реализации поверх Vulkan просто не требуется.
в том что вайн это реализация winapi а тут только прослойка для d3d9 api реализованная поверх vulkan api.. и это не будет быстрее чем galliumnine который тыкает напрямую в d3d9 реализованный в видеокарте, но будет работать на карточках где нет d3d9 но есть вулкан( не уверен что такие карты есть за пределами мобильных чипов..)в общем для гуманитария это очередное ненужно.
> объясните гуманитарию, в чем отличие сабжа от вайна, кроме вулканапи вместо опенгл?тем что это ни разу не эмулятор винды. Это нативный (для того, на что портируем) апи, совместимый на уровне спецификаций c d3d9(в отличие от вулкана, который сам с собой только).
гуманитарию не нужен, как и вулкан, ему нужны конечные продукты, его использующие. Появление таковых маловероятно, хотя и возможно.
А зачем оно нужно? 9-й вышел более 10 лет назад и зачем на это сейчас тратить ресурсы?
API Direct3D 9 выбран как имеющий наибольшее число поддерживающих его игр и более полно разобранный в процессе создания других альтернативных реализаций - Gallium Nine и WineD3D.
Когда вышел 10-й, им долго не пользовались 1). Никому не хотелось Висту. 2). Когда вышла Windows 7, ей понадобились годы на набирание популярности 3). И даже когда популярность набралась, всё равно игр было мало. Потому что игры делали одновременно для Windows, PlayStation 3 и XBox 360 - а там GPU поколения D3D9. И только недавно, после резила PS4, стали массово появляться D3D10 и 11 игры!
> стали массово появляться D3D10 и 11 игры!И что? пройдет еще немного времени и игры будут появляться под dx12 и вулкан
Если 2-3 года для Вас немного, то ОК
> 2). Когда вышла Windows 7, ей понадобились годы на набирание популярностиБгг щито ??? Семерка со старта рванула так что мама не горюй, и менее через год перевалила за 40% ... годы бггг
> БггНе кричи с набитым ртом, вендузоед.
> Direct3D 9 выбран как имеющий наибольшее число поддерживающих его игрНа сегодняшний день -- да.
А вот (в будущем) как раз к моменту релиза SchaeferGL -- большинство игр расползется по DirectX-11/12..
Ох уж это отсутствие элементарной дальнозоркости...
С таким же успехом можно и заниматься переписыванием DirectX-6 , ведь в какой-то момент большинство игр было и на нём :-)
Скажите это играющим в "рогалики" и на эмуляторах спектрума/денди/ПС1
> большинство игр расползется по DirectX-11/12..Вот когда большинство будет на DX12 - тогда и начнётся благодать. Потому что Vulkan и DX12 очень похожи и там будет проблема только в перекомпиляции шейдеров.
>А вот (в будущем) как раз к моменту релиза SchaeferGLв возможном будущем. я к тому, что релиза может и не быть, особенно, учитывая полное отсутствие активности в проекте между ноябрём 2014 и маем 2016
Даже сейчас уже многие движки делают с оглядкой на поддержку Linux так-как SteamOS это Debian 8. Так что через несколько лет будем иметь нечто вроде D3D11-12/Vulkan, а то и чистый Vulkan так-как он везде уже есть, включая Шиндовс.
> предоставление поддержки Direct3D на оборудовании и программных платформах, изначально не поддерживаемых в D3D9Поддерживает Vulkan и не поддерживает D3D9? Это где такое оборудование?
>> предоставление поддержки Direct3D на оборудовании и программных платформах, изначально не поддерживаемых в D3D9
> Поддерживает Vulkan и не поддерживает D3D9? Это где такое оборудование?Моя NVIDIA на линуксе.
Ответ - всё, что не Windows
>> предоставление поддержки Direct3D на оборудовании и программных платформах, изначально не поддерживаемых в D3D9
> Поддерживает Vulkan и не поддерживает D3D9? Это где такое оборудование?есть пара мобильных чипов, но они никомуненужны.
Если на этом в итоге можно будет погонять WoW под Wine без присущих ныне глюков на моей R290X, то винду можно будет наконец-то выкинуть...
Юзай gallium nine и можешь выкинуть винду уже сейчас.
глянул код, какая то дипломная
Ну да, согласен.
Ну на Opennet это не в первой. Вспомнить хотя бы новость http://www.opennet.me/opennews/art.shtml?num=42198
Просто программист учился писать helloworld'ы на go (с реально плохим кодом уровня "как могу, так и программирую"), естественно на уровне 'чуть поигрался и сразу забросил'. Из этого же раздули что-то как о серьёзном.Тут чувак конечно покруче, но как-то на серьёзный проект не тянет.
забавно, что это реализация Direct3D на вулкане, а в исходниках используются префиксы GL