3D-API-Wrapper, die das Leben erträglicher machen

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

3D-API-Wrapper, die das Leben erträglicher machen

Beitrag von Schrompf »

Hi!

Hat jemand Erfahrungen mit 3D-API-Wrappern? Ich bin seit 20+ Jahren auf DirectX9, aber will/muss/sollte echt jetzt langsam mal auf was Modernes wechseln. Ich habe dann angefangen, mich mit Vulkan zu beschäftigen, aber Heilige Fäkalie ist das mühsam.

Aber es gibt doch Wrapper! Die glätten manche allzu scharfe Kante der modernen 3D-APIs und geben hoffentlich noch genug Feinkontrolle, um z.B. Ressourcen-Transfers transparent im Hintergrund abzuwickeln.

1) BGFX ist ein Wrapper um... naja... ALLES. Vulkan, DX12, alles darunter. Als ich zuletzt geschaut habe, haben sie allerdings einen Worker Thread erzwungen, und alle Calls gingen nur in ne Queue und wurden erst drüben ausgeführt. Das vereint sich nicht mit meinem Job-System und meinem Wunsch, Command Queues auch mal concurrent zu konstruieren.

2) WebGPU die API ist wohl etwas vernünftiger als Vulkan, dann gab's diverse Implementationen davon, ich habe hier Google Dawn verlinkt. Ich habe es nicht zum Bauen bekommen. Das Ding pullt halb Google. Die Firefox-Implementation ist in Rust, die krieg ich also nicht so einfach integriert, vor allem wenn ich nen Source Build haben will.

3) Diligent Engine ist ein anderer Wrapper um DX12, DX11, Vulkan, usw. Die API sah ganz vernünftig aus, und ich kann wohl vom jeweiligen Backend Commands einstreuen, wenn ich wirklich muss. Ich bin aber noch nicht weit genug vorgedrungen, um bewerten zu können, ob und wie einfach es baut, ob's Fallstricke gibt, und ich hab irgendwo aufgeschnappt, dass auch die Lib angeblich nen Worker Thread erzwingt.

Die Frage ist also: hat jemand Erfahrungen mit irgendwas davon? Ich möchte gern den 3D-API-Teil meines Frameworks ersetzen, OHNE Window Management, Input, Sound, sonstwas auch alles ersetzen zu müssen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
smurfer
Establishment
Beiträge: 208
Registriert: 25.02.2002, 14:55

Re: 3D-API-Wrapper, die das Leben erträglicher machen

Beitrag von smurfer »

Hi,

ich habe sehr gute Erfahrungen mit https://magnum.graphics gemacht. Immer sofortige Hilfe auf gitter. Nur etwas "geschwätzig"/C++ig, also sehr viele Templates etc.

Edit: Backends wie SDL2, glfw etc. lassen sich einstellen/nutzen, aber vielleicht ist es etwas viel für deine Belange, mehr Middleware als Wrapper.
smurfer
Establishment
Beiträge: 208
Registriert: 25.02.2002, 14:55

Re: 3D-API-Wrapper, die das Leben erträglicher machen

Beitrag von smurfer »

Sorry Schrompf, habe jetzt erst verstanden und gestern überlesen, dass es dir spezifisch um Erfahrungen mit den drei genannten Wrappern ging.
Benutzeravatar
Schrompf
Moderator
Beiträge: 5040
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas
Wohnort: Dresden
Kontaktdaten:

Re: 3D-API-Wrapper, die das Leben erträglicher machen

Beitrag von Schrompf »

Nönö, auch eigene Erfahrungen sind wertvoll. Ich wollte nur nicht nen Einzeiler posten und hab deswegen ein paar Wrapper zusammengetragen, die ich kannte.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Matthias Gubisch
Establishment
Beiträge: 488
Registriert: 01.03.2009, 19:09

Re: 3D-API-Wrapper, die das Leben erträglicher machen

Beitrag von Matthias Gubisch »

Wie high/lowlevel sollte es denn sein?
Ich könnte dir anbieten zu versuchen mein vulkan backend zu extrahieren.
Müsstest du vielleicht ein paar kleine Modifikationen machen aber das gröbste wrapped das schon weg
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Antworten