AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi directX/DelphiX <--> OpenGL
Thema durchsuchen
Ansicht
Themen-Optionen

directX/DelphiX <--> OpenGL

Ein Thema von Illuminator-23-5 · begonnen am 29. Okt 2003 · letzter Beitrag vom 1. Nov 2003
Antwort Antwort
Illuminator-23-5
(Gast)

n/a Beiträge
 
#1

directX/DelphiX <--> OpenGL

  Alt 29. Okt 2003, 18:45
Ich hab gehört, dass bestimmte DirectX-Befehle schneller verarbeitet werden können. Ich hab bis jetzt immer nur in OpenGL programmiert (zumindest versucht)
kann man die Progs leicht von OpenGL auf DirectX/delphiX übersetzen? gibts da 'ne art vergleichtstabelle der Befehle?


worin liegt eigentlich der unterschied zwischen delphiX und directX? is delphiX directX in delphi oder isses doch net so einfach?
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#2

Re: directX/DelphiX <--> OpenGL

  Alt 29. Okt 2003, 18:50
Hi,

DirectX sind "nur" Units die man ganz normal bei den Uses einbinden muss. DelphiX hingegen ist eine Komponentensammlung.
Bei OpenGL muss man jeden "Pups" selber machen. Wenn Du irgendwo Licht und Schatten haben willst, musst Du es von Hand erst Programmieren, bei Delphi/DirectX musst Du sagen Licht an und Schatten dahin.
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#3

Re: directX/DelphiX <--> OpenGL

  Alt 30. Okt 2003, 15:42
Äh... Bei OpenGL macht man doch auch nur Licht an, und die Grafikkarte berechnet das Licht, und dass man Schatten in Direct3D dabei hat, ist mir auch neu...
Man hat lediglich in Direct3D eine deutlich größere Utility-Bibliothek mitgeliefert (heißt, man muss halt nicht so viel selbst machen wie z.B. Texturen laden, und was man macht, geht häufig über überladene Operatoren anstelle von Funktionsaufrufen), und das Programmierparadigma ist anders.

Da OpenGL und Direct3D (erwähnte ich den Unterschied zwischen DirectX und Direct3D? DirectX liefert nämlich alle für Spieleprogrammierung notwendigen Komponenten mit, OpenGL hingegen nur Grafik) die gleiche Hardware ansteuern, gibt es für die meisten Befehle Äquivalente in beiden APIs. Oftmals sind sogar die Namen ähnlich. Der wesentliche Unterschied ist wohl, dass OpenGL eine "state machine" ist, während Direct3D auf "Geräten" aufbaut, mit denen man arbeitet. Dadurch hat man eine exaktere Kontrolle darüber, was welche Grafikkarte wann wie macht bzw. man weiß es, auch ohne es ausprobieren zu müssen. In OpenGL musst du z.B. einfach probieren eine Textur mit 2048x2048 zu erstellen, wenn es nicht geht, musst du es nochmal probieren. In Direct3D fragst du die Grafikkarte(n) vorher, was für Texturgrößen sie verarbeiten können.

Ein (theoretischer) Geschwindigkeitsvorteil von Direct3D liegt darin, dass es dir einige einfache Wege, etwas auf den Bildschirm zu bringen, verbietet, während du in OpenGL so vorgehen kannst, wie du willst (also nicht notwendigerweise mit maximaler Geschwindigkeit). Die "schnellen" Wege stehen in den meisten Fällen aber auch in OpenGL zur Verfügung, denn letztendlich sind beide APIs ja nur Kapselungen der Hardware, die ja den Löwenanteil der Arbeit macht.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von Mr_T
Mr_T

Registriert seit: 7. Jun 2002
Ort: Eilsum
136 Beiträge
 
Delphi 2005 Personal
 
#4

Re: directX/DelphiX <--> OpenGL

  Alt 1. Nov 2003, 11:19
Die einzige mir bekannte Situation, wo OpenGl leider verliert ist auf einigen KArten, welche leider nur einen unzureichenden OGl-treiber haben (z.b. Ati Rage 2) ... suf solchen Karten ist D3d deutlich flotter (deshalb gibts für solche Fälle auch OGl-treiber, welche über D3D emuliertr werden)

Die vorteile von OGl sehe ich darin, dass neue Graka-Feats viel schneller verfügbar sind und direkt über Extentions an gesprochen werden können, sobald der Treiber das erlaubt (bei D3D muss man erst auf das nächste Dx-Release warten) und in meinen Augen ist OGl einfacher
Mein neuer, 13 Teiliger Open GL - Kurs (Samples in Delphi):
www.dcw-group.net
Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Neu! Teil 2b: Initialisierung von OpenGL unter Kylix ist fertig!
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#5

Re: directX/DelphiX <--> OpenGL

  Alt 1. Nov 2003, 15:15
Wie schon oft besprochen, finden viele Direct3D und viele OpenGL einfacher und besser und schöner... Das ist ja Geschmackssache.

Aber das mit den Extensions... Konsequenterweise muss man zum Beispiel, um Vertex- und Pixelshader nutzen zu können, die Erweiterungen von nVidia unterstützen. Oder aber die von ATi, die auf deren Karten natürlich besser abgestimmt sind. Und wenn es eine neue Hardwaregeneration gibt, kommen wieder neue Extensions dazu... Dadurch hat man einen Haufen von Extensions (es gibt über hundert), die man unterstützen muss, wenn man alles haben will. Direct3D hingegen implementiert (fast) alle Standards (und setzt diese teilweise), lange bevor die erste Hardware verfügbar ist. Beides letztendlich für Hobbyspieleentwickler relativ irrelevant ;c)

Fakt ist jedenfalls, dass außer id-Software kaum ein großer Spieleentwickler noch ausschließlich auf OpenGL setzt.

Das ist auch so ähnlich wie der Kampf zwischen nVidia und ATi: ersterer hat Verträge mit diversen Publishern abgeschlossen, dass das nVidia-Logo in deren Spielen erscheint ("the way it's meant to be played"), um den Eindruck der Optimierung auf nVidia-Hardware zu erwecken. Aber die meisten Direct3D9-Engines sind auf ATi-Karten einfach schneller.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz