AGB  ·  Datenschutz  ·  Impressum  







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

directX/DelphiX <--> OpenGL

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

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

Re: directX/DelphiX <--> OpenGL

  Alt 30. Okt 2003, 14: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
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz