Open GL oder DirectX was ist schwerer zu lernen ?
-
Hähä, natürlich wäre das leichter! Um einiges sogar. Das kann man sogar noch ohne Engine schnell lösen. Kannste auch mit den 3D-Engines lösen, aber ich würde dann eher http://www.libsdl.org/ empfehlen, wenn du keine 3D-Engine benutzen willst.
-
Dann guck ich mir erst mal diese SDL Sachen an ty.
-
hallo, ich hätt da ne reine interessenfrage:
die hier 4 genannten opensource-engines, kann man damit weiter programmieren so dass es grafiken wie doom 3, crysis hat? oder müsste man trotzdem wieder auf die funktionen von directx und opengl zugreifen, um die grafiken zu optimieren? es könnt ja sein, dass so wie ich in screenshots sehe, die texturen einfach nur schlecht sind. aber ich sehe da auch schlechte schatten. wobei in ogre sehen die schatteneffekte wieder besser aus hm?
-
Klar kannst du damit Grafiken wie in Doom 3 oder Crysis erzeugen. Aber ich gehe mal nicht davon aus, dass du die Fähigkeiten dazu hast (sorry) - ich habe sie im Übrigen auch nicht.
Und klar wirst du dann, wenn du das ernsthaft vor hast, ordentlich dich mit DX oder OGL auseinandersetzen müssen, denn wenn du auf dieses Level willst, wirst du die Engines mehr oder weniger selbst erweitern/verbessern müssen - und dazu brauchst du massive Kenntnisse in den APIs.
Du kannst allerdings auch einfach mit den Engines arbeiten - dann musst du nicht ganz so tief eindringen (um Grundkenntnisse in DX oder OGL kommst du dennoch nicht herum).
-
Gibt's die Quake-Engine nicht irgendwo asl FOSS?
-
Ja, Quake 1-3 gibt es die Engine (nicht aber die Modelle etc.) unter GPL.
-
Es sind alles OpenSource-Engines. Wenn Du meinst, das sie deinen Bedürfnissen nicht 100% gerecht werden, steht es dir offen, sie zu verändern.
Aber hängt die Texture-Qualität wirklich von der Engine ab? Und nicht eher von der Texture-Auflösung? 
-
schwierig. zu den texturen gehören noch die bump mapping. die erkennt man nicht immer sofort. in manchen spielen habe ich nicht den eindruck dass es einfach nur bmp-texturen sind. da helfen noch die so hohen qualitäten nicht wirklich. da müssen noch andere filter am werk sein. was ich zumindest kenne, sind die versch. layers z.b. eine für glanz. dann kommen noch die nebeleffekte und unschärfe dazwischen. ich glaube mit schatten- und beleuchtungseffekte ist es am schwierigsten. für so etwas muss man bestimmt auf funktionen von ogl und dx zugreifen? ich hab keine ahnung wie grafikkarten das verarbeiten. welche befehle für die grafikkarten schnell zu berechnen wären, und wieviel von den effekten änderbar sind. große 3D-Anwendungsprogramme wie maya, cinema4D benützen keine Grafikkarten für die renderings, weil die möglichkeiten in grafikkarten eingeschränkt sind.
was früher softwaremäßig für grafiken war, ist jetzt hardwaremäßig. - statische hardwaremäßige funktionen - nur noch grobe veränderungsmöglichkeit. jetzt weiß der mensch nicht, wieviel zugriff er darauf hat. mühsame kacke
-
Ich würde mal behaupten das geht primär über Shader.
-
xBlackKnightx schrieb:
schwierig. zu den texturen gehören noch die bump mapping. die erkennt man nicht immer sofort. in manchen spielen habe ich nicht den eindruck dass es einfach nur bmp-texturen sind. da helfen noch die so hohen qualitäten nicht wirklich. da müssen noch andere filter am werk sein. was ich zumindest kenne, sind die versch. layers z.b. eine für glanz. dann kommen noch die nebeleffekte und unschärfe dazwischen. ich glaube mit schatten- und beleuchtungseffekte ist es am schwierigsten. für so etwas muss man bestimmt auf funktionen von ogl und dx zugreifen? ich hab keine ahnung wie grafikkarten das verarbeiten. welche befehle für die grafikkarten schnell zu berechnen wären, und wieviel von den effekten änderbar sind. große 3D-Anwendungsprogramme wie maya, cinema4D benützen keine Grafikkarten für die renderings, weil die möglichkeiten in grafikkarten eingeschränkt sind.
was früher softwaremäßig für grafiken war, ist jetzt hardwaremäßig. - statische hardwaremäßige funktionen - nur noch grobe veränderungsmöglichkeit. jetzt weiß der mensch nicht, wieviel zugriff er darauf hat. mühsame kacke
Das Problem, das Grafikkarten zu unflexibel sind, besteht heute nicht mehr. Über Shader-Programme kann man eigentlich nahezu alles machen. Das bezieht sich natürlich auf die Rastermethode. Wenn du Raytracen willst, dann nützt dir die Grafikkarte nichts.
-
wolfgke schrieb:
Und klar wirst du dann, wenn du das ernsthaft vor hast, ordentlich dich mit DX oder OGL auseinandersetzen müssen, denn wenn du auf dieses Level willst, wirst du die Engines mehr oder weniger selbst erweitern/verbessern müssen - und dazu brauchst du massive Kenntnisse in den APIs.
Nein. Es wird viel zu oft die Vorstellung vermittelt, gute Grafik hängt nur von den API Kenntnissen ab. Das ist Schwachsinn. OpenGL umfasst gerade mal ~500 Befehle. Es ist keine Kunst die paar Befehle effizient zu nutzen. Die eigentliche Grafikprogrammierung findet auf einer höheren Ebene statt. Und auch wenn du 'massive' Kenntnisse in einer Grafik API deiner Wahl hast, bist du noch lange nicht fähig auch nur den Himmel von Crysis zu rendern, weil es einiges mehr bedarf als das Anwendiglernen einiger Anweisungen.
-
Massive Kenntnisse sind ja auch nicht nur das auswendige Kennen jedes einzelnen Befehls mit Parameter und Rückgabewert, sondern auch, wann welcher Befehl sinnvoll ist und wann nicht und wie das System eigentlich arbeitet. Denn wenn man davon keine Ahnung hat, weiß man auch nicht, wann welcher Befehl sinnvoll ist.
Natürlich geht das ganze noch weiter, d.h. für fortschrittliche Rendertechniken braucht man auch profunde Kenntnisse in Mathematik und (optischer) Physik, Stichwort Shader.
Aber man muss es ganzheitlich betrachten und wirklich jeden Aspekt gut kennen, bevor es an die richtig innovativen Sachen geht!
gruß
mad_martin
-
Optimizer schrieb:
Wenn du Raytracen willst, dann nützt dir die Grafikkarte nichts.
Du kannst auch der Grafikkarte raytracen. Man hat nur zahlreiche Limitierungen und muss tricksen - ob es im Moment sinnvoll ist, ist also eine andere Frage.
BTW: Ich denke für einen totalen Einsteiger ist DX10 mittlerweile eine ziemliche Hürde. Es muss einfach viel mehr explizit gemacht werden, Tutorials im Web gibt es garkeine und die Doku ist stellenweise auch noch alles andere als berauschend.