Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Schwarzefee

Treue Seele

  • »Schwarzefee« ist der Autor dieses Themas

Beiträge: 155

Wohnort: Ost-Sachsen

Beruf: Programmierer

  • Private Nachricht senden

1

06.03.2014, 14:58

OpenGL + DirectX

Hi,

da wohl DirectX unter Windows besser als OpenGL ist (wurde mir zumindest so gesagt), und ich aber trotzdem für Linux+Mac programmieren möchte, suche ich eine Möglichkeit meine (2D) Engine für beide APIs zu programmieren.

Meine Frage: Wie mache ich das am besten?
Meine Idee war, Namespaces (zB Grafics::DirectX11 und Grafics::OpenGL4) zu verwenden.
Dann überall wo von "aussen" Klassen der Grafics benutzt werden ein Makro verwenden

C-/C++-Quelltext

1
#define GRAFICS_NS Grafics::DirectX11

Dann könnte man für Windows und Linux/Mac 2 verschiedene Versionen compilieren, wo nur das Makro geändert ist.

Eine andere Möglichkeit wäre, das Grafics-Zeug in ne Bibliothek auszulagern und wieder 2 verschiedene Versionen compilieren.


Kann man das so machen, oder gibt es da bessere Möglichkeiten?
Ich weis, dass es auchnoch SDL und SFML gibt, aber ich wollte versuchen ohne auszukommen.

Gruß

Cranberry

Treue Seele

Beiträge: 312

Wohnort: Innsbruck, Tirol

  • Private Nachricht senden

2

06.03.2014, 15:35

DirectX ist nicht besser als OpenGL...
Es ist auch nicht schlechter. Es ist wahr, dass DirectX leichter zu handhaben ist als OpenGL und aus meiner Sicht auch logischer, jedoch lasst sich mit beiden APIs genau das gleiche erzielen.
Also wenn du Platformunabhängigkeit willst, dann nimm nur OpenGL, sonst hättest du doch nur die doppelte Arbeit.

3

06.03.2014, 16:19

Was ? ok! Was leicher ist ist Ansichtssache - ich finde OpenGL leicher. (Und logischer...)
LostLife ein 3D RPG - development

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

4

06.03.2014, 16:45

Trotzdem, wenn Linux und OSX drin sein sollen ist es nur mehr Arbeit beides zu nutzen.
Und OpenGL wird sich sowieso jeder abstrahieren (die C Funktionsaufrufe in Klassen packen), daher... Noch einfacher könnte man dann auch eine Bibliothek nehmen die das schon getan hat (SDL, SFML, ...).

Werbeanzeige

Ähnliche Themen