Rascher Einstieg in 3D-Programmierung
-
soweit ich weiß liegt das halt v.a. daran, dass "im akademischen Bereich" bzw. bei wissenschaftlichen Projekten eher Unix/Linuxsysteme eingesetzt werden, bei denen man mit DX nicht besonders weit kommt.
-
Also ich muss hier mal kurz einige dinge klarstellen:
Ich komm aus Österreich, bin 18 und geh auf ne HTL (Höhere technische Lehranstalt). Und bei uns kann man zur Matura (vgl. Deutschland: Abitur) auch ne Diplomarbeit schreiben, muss man aber nicht. Also wird das mi der Vorlesung schon mal nichts. Mir schwebte da was mit 3D-Programmierung vor weil ich es interessant finde. Das genaue Konzept wird in den nächsten Tagen/Wochen entstehn.Außerdem hab ich gerade erfahren dass mein betreuender Lehrer der mich bei der Arbeit unterstützt nur Ahnung von DirectX unter C# oder C++ hat. Also wird er wohl wollen das ich das verwende. Wo liegt eigentlich der Unterschied zwischen DX und OGL??
-
Mr_Funstick schrieb:
Also ich muss hier mal kurz einige dinge klarstellen:
Ich komm aus Österreich, bin 18 und geh auf ne HTL (Höhere technische Lehranstalt). Und bei uns kann man zur Matura (vgl. Deutschland: Abitur) auch ne Diplomarbeit schreiben, muss man aber nicht. Also wird das mi der Vorlesung schon mal nichts. Mir schwebte da was mit 3D-Programmierung vor weil ich es interessant finde. Das genaue Konzept wird in den nächsten Tagen/Wochen entstehn.Außerdem hab ich gerade erfahren dass mein betreuender Lehrer der mich bei der Arbeit unterstützt nur Ahnung von DirectX unter C# oder C++ hat. Also wird er wohl wollen das ich das verwende. Wo liegt eigentlich der Unterschied zwischen DX und OGL??
die d3d api ist eher objektorientiert gehalten,
und opengl eher prozedural.
-
inp schrieb:
die d3d api ist eher objektorientiert gehalten,
und opengl eher prozedural.Ja aber ist denn nicht der modernere Ansatz die Objektorientiertheit? Sogar die neue PHP-Version hat auf OOP umgestellt. Warum ist dann OGL im akademischen bereich beliebter! Hat es irgendwelche Vorteile?
MFG Mr_Funstick
-
es ist nativ lauffähig auf nicht-windows-plattformen.
mfg,
julian
-
prozeduraler code lässt sich sehr einfach in klassen einbauen. mit Dx is das ne qual
-
OGL ist meines Wissens auch bedeutent älter und
wird von den Hardwareherstellern mehr oder weniger gemeinsam vorangetreiben während DirectX ausschließlich von Microsoft vorangetrieben wird.
OGL ist abwärtskompatibel während DirectX mit jeder Major-Version komplett unterschiedliche Schnittstellen liefert.
-
darthdespotism schrieb:
OGL ist abwärtskompatibel während DirectX mit jeder Major-Version komplett unterschiedliche Schnittstellen liefert.
Nein - dank dem COM-Interface ist DX abwärtskompatibel. Nur DX10 ist nicht mehr abwärtskompatibel zu den Vorgängerversionen.
-
DirectX vs. OpenGL:
90% der 3D-Spiele wurden mit DirectX geschrieben(&c++)
10% der Programme/Spiele wurden mit OpenGL geschrieben(&c++).OpenGL bietet mehr funktionen, ist plattformunabhängig aber hat nen schwierigeren Grad.
AutoCAD wurde als Beispiel mit OpenGL geschrieben.DirectX hingegen ist glaube ich nur für Windows(keine Ahnung, hab ich in einem anderem Forum gelesen), ist aber dafür einfacher zu erlernen.
P.S.: ich weiß,dass OpenGL keine Programmiersprache ist, ich sag es nur immer

P.S.: OpenGL = Grafikbibliothek xD
-
XP^ schrieb:
DirectX vs. OpenGL:
90% der 3D-Spiele wurden mit DirectX geschrieben(&c++)
10% der Programme/Spiele wurden mit OpenGL geschrieben(&c++).Darum gehts hier nicht. Es geht drum was man in 1 Jahr leichter erlernen kann.
-
XP^ schrieb:
DirectX vs. OpenGL:
90% der 3D-Spiele wurden mit DirectX geschrieben(&c++)
10% der Programme/Spiele wurden mit OpenGL geschrieben(&c++).OpenGL bietet mehr funktionen, ist plattformunabhängig aber hat nen schwierigeren Grad.
AutoCAD wurde als Beispiel mit OpenGL geschrieben.DirectX hingegen ist glaube ich nur für Windows(keine Ahnung, hab ich in einem anderem Forum gelesen), ist aber dafür einfacher zu erlernen.
P.S.: ich weiß,dass OpenGL keine Programmiersprache ist, ich sag es nur immer

P.S.: OpenGL = Grafikbibliothek xDSowohl deine Prozentangaben als auch deine Aussage bezüglich des Schwierigkeitsgrades sind völlig aus der Luft gegriffen. Eigentlich ist die gängige Meinung die, dass in Direct3D der Einstieg schwieriger ist (vereinfacht gesagt der Code bis zum 1. drehenden Dreieck), viele fortgeschrittene Dinge dann jedoch leichter fallen.
Aber da die Konzepte in beiden identisch sind, ist die Wahl im Grunde nur noch geschmackssache.
-
Blue-Tiger schrieb:
XP^ schrieb:
DirectX vs. OpenGL:
90% der 3D-Spiele wurden mit DirectX geschrieben(&c++)
10% der Programme/Spiele wurden mit OpenGL geschrieben(&c++).Darum gehts hier nicht. Es geht drum was man in 1 Jahr leichter erlernen kann.
Die API ist doch ziemlich egal. Es geht ja nicht darum, das man 1 Jahr lang die API lernt. Man lernt 1 Jahr lang welche Theorien und Dinge hinter diesen 3D-Geschichten stecken. Ob man dafür OpenGL oder Direct3D nimmt ist doch furz egal. Man legt sich einfach auf etwas fest, da mag man noch so extrem dämliche Argumente ranziehen wie, welche API wie viele Spiele nutzen (was soll das überhaupt aussagen?). Aber die API ist doch wirklich scheiß egal und die API zu meistern dauert wohl höchstens 2 Wochen. Schwierig ist das sinnvolle zusammen bringen und zu verstehen.
-
@rüdiger: Tendentiell unterschreib ich deine Aussage, aber eine Frage hab ich gerade dennoch: wie viel hast DU schon mit DX und OGL gemacht?
-
OpenGL war für mich einfacher. Und wenn John Carmack OpenGL nimmt, dann nehm ich das auch. Warum sollen die Spiele nur unter Windows laufen?
-
xBlackKnightx schrieb:
OpenGL war für mich einfacher. Und wenn John Carmack OpenGL nimmt, dann nehm ich das auch. Warum sollen die Spiele nur unter Windows laufen?
JC nimmt nun aber d3d und er ist damit zufrieden und behauptet selbst kein verfechter von ogl/d3d zu sein, sondern dass er nimmt was gerade praktisch ist.
-
Mr_Funstick schrieb:
inp schrieb:
die d3d api ist eher objektorientiert gehalten,
und opengl eher prozedural.Ja aber ist denn nicht der modernere Ansatz die Objektorientiertheit? Sogar die neue PHP-Version hat auf OOP umgestellt. Warum ist dann OGL im akademischen bereich beliebter! Hat es irgendwelche Vorteile?
MFG Mr_Funstick
opengl ist eine freie schnittstelle, d3d microsoft lastig.
wobei beide das selbe machen (eines in grün, eins in blau).eins sag ich dir gleich, wennst was gscheites coden willst musst sowieso eine abstraktionsschicht schaffen, um opengl und d3d als renderer zu verwenden (austauschbar zur laufzeit zb).
aber so zum einlernen kannst dir eins von beiden aussuchen ( wie gesagt, das selbe in grün/blau)
-
this->that schrieb:
@rüdiger: Tendentiell unterschreib ich deine Aussage, aber eine Frage hab ich gerade dennoch: wie viel hast DU schon mit DX und OGL gemacht?
Ich hab nur ab und an mal mit OGL gespielt. Habe keinen Rechner der DX kann :p (Ich habe mir einfach mal die Freiheit rausgenommen und bin davon ausgegangen, das man mit DX auch bunte bildchen erstellen kann, wenn du darauf hinaus willst)
-
rüdiger schrieb:
this->that schrieb:
@rüdiger: Tendentiell unterschreib ich deine Aussage, aber eine Frage hab ich gerade dennoch: wie viel hast DU schon mit DX und OGL gemacht?
Ich hab nur ab und an mal mit OGL gespielt. Habe keinen Rechner der DX kann :p (Ich habe mir einfach mal die Freiheit rausgenommen und bin davon ausgegangen, das man mit DX auch bunte bildchen erstellen kann, wenn du darauf hinaus willst)
Anhand deiner Wortwahl und der Tatsache das du etwas idealisiert hast konnte ich schließen, dass du wenig bis garkeine praktische Erfahrung mit 3D-Programmierung hast. Ich kann dir versichern: Selbst wenn du alle Konzepte theoretisch beherrscht, wirst du immernoch ein bißchen länger als 2 Wochen brauchen um solche komplexen APIs zu meistern.
Sollte jetzt kein Flame sein... naja, du weißt schon wie ichs gemeint hab.
-
@this->that
Muss man die komplette API meistern?Selbst wenn macht das meistern der API wohl eher den kleineren Teil aus.
-
rüdiger schrieb:
@this->that
Muss man die komplette API meistern?nen grossteil muss man koennen, weil es nunmal komplexe zusammenhaenge gibt die du ueberblicken musst, ansonsten wirst du ziemlichen misst produzieren, auch falls du es schaffen solltest irgendwie ne graphik auf den bildschirm zu bringen.
Selbst wenn macht das meistern der API wohl eher den kleineren Teil aus.
das stimmt, aber die api ist immer ein teil des groesseren und so wie du c++ koennen musst, so gut musst du die API verstehen/koennen (und oft noch die hardware die dahinter haengt).