PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MOHPA Direct3D?


Coda
2004-09-06, 16:40:15
Zumindest sieht's ganz danach aus. Kann mir das mal jemand erklären? :|

dildo4u
2004-09-06, 16:54:40
Zumindest sieht's ganz danach aus. Kann mir das mal jemand erklären? :|
Was gibts da zu erklären sieht man ja whol das es nicht mher die Q3 Engine ist ist eine eigen entwicklung.

http://img44.exs.cx/img44/7171/PA1.jpg

Die engine ist extrem aufwendig berechnet werden z.B einzelne zähne die einzeln ausgeschlagen werden können.Die Gesichter können z.B kratzer oder blaue augen bekommen die im verlauf der krieges immer mehr werden die pupillen reaktion wird auch berechnet wenns hell wird wird die pupille sichtbar kleiner. Es gibt dazu einen recht guten bericht in der aktullen PCGH.

Coda
2004-09-06, 17:00:26
Hm, das ist immer noch eine stark verbesserte Q3 Engine, das sieht man an den PK3 files. Wundern tut mich's trotzdem.

Vor allem hatte das alte MOHAA schon Shader Support in OpenGL implementiert...

Showtime
2004-09-06, 17:10:23
Was ist denn das für ein Thread? Titel + Inhalt passen mal gar nicht zusammen... Hat da ein Mod irgendwas falsch gesplittet? Coda's Frage passt auch überhaupt nicht. Oder versteh ich grad irgendwas nicht? :confused:

dildo4u
2004-09-06, 17:14:33
Hm, das ist immer noch eine stark verbesserte Q3 Engine, das sieht man an den PK3 files. Wundern tut mich's trotzdem.

Vor allem hatte das alte MOHAA schon Shader Support in OpenGL implementiert...
Für was genau bitte?Kann mich nicht erinnern.

Ganon
2004-09-06, 17:37:46
Wie sieht denn bitte "Direct3D" oder "OpenGL" aus?

Blackbird23
2004-09-06, 18:15:04
Hm, das ist immer noch eine stark verbesserte Q3 Engine, das sieht man an den PK3 files. Wundern tut mich's trotzdem.

Vor allem hatte das alte MOHAA schon Shader Support in OpenGL implementiert...

PK3 Files sind nix anderes als ein *.Zip... nur anderer Name für komprimierte Dateien. Kannste mit WinRaR usw problemlos öffnen. Es ist keine Q3 Engine mehr das sieht man im Game auch mehr als deutlich.

Ganon
2004-09-06, 18:18:31
Die Quake3-Engine kann das gar nicht sein. Die würde bei so vielen Polygonen einbrechen. Das sieht man ja auch bei entsprechenden Maps die dann extrem ruckeln. Außerdem ist die Quake3-Engine nicht gerade ein KI und Physik-Wunder. ;)

Ich denke mal man hat nur Rand-Sachen, wie halt die Dateibezeichnungen, und/oder Eingabe-System beibehalten. Der Rest ist sicher komplett neu.

Omnicron
2004-09-06, 18:18:34
Ich kann mit Alt-Tab den Desktop benutzen - also kann es kein OpenGL sein :usweet:

Blackbird23
2004-09-06, 18:26:57
Ich kann mit Alt-Tab den Desktop benutzen - also kann es kein OpenGL sein :usweet:
Hehe noch nen Grund stimmt ^^

Coda
2004-09-06, 18:27:34
Doch, es ist Q3, wenn auch stark modifiziert.
Zumindest sind Teile davon erhalten, die CVARs gibt's noch (settings.ini)
Das Dateiformat ist immer noch BSP (der Fileheader stimmt auch)

Blackbird23
2004-09-06, 18:47:25
Doch, es ist Q3, wenn auch stark modifiziert.
Zumindest sind Teile davon erhalten, die CVARs gibt's noch (settings.ini)
Das Dateiformat ist immer noch BSP (der Fileheader stimmt auch)
Hmm stimmt je mehr ich mir das anschaue glaub ich es langsam auch... Der Aufbau der *.pk3 entspricht denen des alten MOHAA fast exakt. Wenn das ne eigene Engine ist dann ist sie sehr an der Q3 orientiert. Wenn se modifizierte Q3 ist dann ist sie extrem modifiziert und stellt so mit das Optimum dar was aus der nun doch schon recht alten Engine wohl rauszuholen ist. Was micht halt wundert das so typische Q3 Merkmale wie alt+tab geht nicht oder die Konsole am Anfang fehlen.

Coda
2004-09-06, 18:51:23
Console kannst du aktivieren mit "+set ui_console 1" als Programmparameter.

Für was genau bitte?Kann mich nicht erinnern.
Für's Wasser z.B.

Blackbird23
2004-09-06, 18:56:12
Console kannst du aktivieren mit "+set ui_console 1" als Programmparameter.


Für's Wasser z.B.
Nein meine net die Konsole sondern dieses kleine Fenster was bei jedem Q3 Game sich öffnet bevor er in Fullscreen-Modus geht.l

dildo4u
2004-09-06, 19:07:16
Console kannst du aktivieren mit "+set ui_console 1" als Programmparameter.


Für's Wasser z.B.

Für das braucht man shader?

http://images.ea.com/eagames/official/moh_alliedassault/sshot/sshots-big/june13-sshot-lg_01.jpg

r00t
2004-09-06, 19:25:50
schon mal das moh: PA wasser gesehn?^^
http://www.technicalgeek.com/upcoming/mohpa/pa1.jpg

dildo4u
2004-09-06, 19:32:10
schon mal das moh: PA wasser gesehn?^^
ja warum das sieht doch sehr nach shader aus

http://www.technicalgeek.com/upcoming/mohpa/pa1.jpg

*g* wie gesagt selbst wenn noch ein bissel Q3 Engine drinn steckt sinds höstens noch 20-30%.

Gil-galad
2004-09-06, 19:33:47
Außerdem ist die Quake3-Engine nicht gerade ein KI und Physik-Wunder. ;)

Was hat Physik und KI mit der Quake3-Engine zu tun? KI und Physik werden unabhängig entwickelt. Oft kommt auch eine eigenständige Physikengine, wie Havok, zum Einsatz.

Jesus
2004-09-06, 19:48:36
ist D3d, zumindes spricht der AF regler im CP auf der D3D seite an :rolleyes:

Coda
2004-09-06, 19:49:16
Für das braucht man shader?
Uh. Ok ich meinte nicht MOHAA, wie heißt das eine wo man den Russen spielt?

ist D3d, zumindes spricht der AF regler im CP auf der D3D seite an
Das ist klar, die Frage ist warum.

Ganon
2004-09-06, 20:21:54
Na wenn das Spiel D3D nutzen sollte dann KANN sie ja schon gar nix mehr mit Quake3 zu tun haben. ;)

Was hat Physik und KI mit der Quake3-Engine zu tun? KI und Physik werden unabhängig entwickelt. Oft kommt auch eine eigenständige Physikengine, wie Havok, zum Einsatz.

Ja, aber sie werden in einer Engine (hier Quake3-Engine) vereint. Ansonsten wäre es keine Engine. Wenn man die Quake3-Engine nimmt und ne andere Physik-Engine einbaut, dann ist es nicht mehr die Quake3-Engine.

Eine Spiele-Engine besteht nicht nur aus dem Grafik-Teil. Eingabe, Sound, Physik, KI, etc. pp. sind alle mit drin.

ShadowXX
2004-09-06, 20:38:44
Na wenn das Spiel D3D nutzen sollte dann KANN sie ja schon gar nix mehr mit Quake3 zu tun haben. ;)



Ja, aber sie werden in einer Engine (hier Quake3-Engine) vereint. Ansonsten wäre es keine Engine. Wenn man die Quake3-Engine nimmt und ne andere Physik-Engine einbaut, dann ist es nicht mehr die Quake3-Engine.

Eine Spiele-Engine besteht nicht nur aus dem Grafik-Teil. Eingabe, Sound, Physik, KI, etc. pp. sind alle mit drin.

Bei den neueren Engines vielleicht...bei der q3 Engine war bestimmt noch keine Physik (zumindest was wir heute darunter verstehen) drinne...

Und viele Engines werden tätsichlich erst nachträglich mit Physik-Engines ausgerüstet...z.B. hat IonStorm zur Unreal Engine noch die Havok Engine dazugekauft und dann selbst zusammengewürfelt (Valve hat sich für die Source-Engine auch Havok dazugekauft...)

Extra KI-Engines gibts AFAIK noch nicht...aber wird bestimmt auch noch kommen...man kann sich halt nicht um alles kümmern *g*

Coda
2004-09-06, 21:03:59
Doom 3 hat ne eigene Physik-Engine soweit ich weiß.

Na wenn das Spiel D3D nutzen sollte dann KANN sie ja schon gar nix mehr mit Quake3 zu tun haben.
Falsch. Die API Calls haben nicht viel mit der Engine am Hut.

Ganon
2004-09-06, 21:06:02
Bei den neueren Engines vielleicht...bei der q3 Engine war bestimmt noch keine Physik (zumindest was wir heute darunter verstehen) drinne...

Und viele Engines werden tätsichlich erst nachträglich mit Physik-Engines ausgerüstet...z.B. hat IonStorm zur Unreal Engine noch die Havok Engine dazugekauft und dann selbst zusammengewürfelt (Valve hat sich für die Source-Engine auch Havok dazugekauft...)

Extra KI-Engines gibts AFAIK noch nicht...aber wird bestimmt auch noch kommen...man kann sich halt nicht um alles kümmern *g*

1. Genau das meine ich ja. Die Physik in Quake3 beschränkt sich auf Springen, fallen, etc.

2. Ich habe ja nicht gesagt das es nicht so ist. Dann nutzt diese Engine halt diese Physik. Das ist ja egal, wer den Teil der Engine schreibt. Aber die Engine ist nachher das Gesamtprodukt. Die UT-Engine ist die UT-Engine und nutzt halt Havok für den Physik Teil. Trotzdem ist es die UT-Engine.
STALKER nutzt z.B. die OpenDynamicsEngine http://ode.org/

3. Naja. KI ist ja in den meisten Spielen auch noch Nebensache für die Entwickler.

Gas t
2004-09-06, 21:12:10
Uh. Ok ich meinte nicht MOHAA, wie heißt das eine wo man den Russen spielt?


Du meinst Call of Duty.
Da sieht das Wasser auch anders aus, und das ist Q3A-Engine.

Blackbird23
2004-09-06, 21:17:06
Also wenn die Demo D3D ist dann kanns mit Q3 eigentlich wirklich (fast) nix mehr zu tun haben da das Ding defenitiv Open GL ist und ich net wirklich glaube das das so einfach möglich ist das auf D3D zu portieren und außerdem wäre ich mir net so sicher ob da ID net noch nen Wort mit zu reden hat.


Edit:
Ach ja zum COD-Wasser... Das ist wesentlich näher am MOHAA Wasser als am MOHPA Wasser, will heißen sieht wesentlich schlechter aus als das von MOHPA.

Ganon
2004-09-06, 21:34:56
Falsch. Die API Calls haben nicht viel mit der Engine am Hut.

Ähm, bitte? Wie meinst du das jetzt?

Wenn die Engine D3D verwendet, samt Effekte dann ist es einfach so das sie nix mehr mit Quake3 zu tun hat. Die Quake3-Engine ist im Grafik-Teil reines OpenGL.

Das was du meinst ist bestimmt diese Wrapper-Schei**e von Epic mit ihrer Unreal-Engine. Da werden aber wenig Effekte benutzt, welche jetzt besonders kompliziert wären. Daher funktioniert das mit den Wrappern auch.

Gerade im Shader-Bereich sind OpenGL und DirectX verschieden. Da ist nicht einfach mal ein Schalter umgelegt und man spricht ne andere API an. OK. Ich weiß jetzt nicht inwieweit da OpenGL 2.0 sich von OpenGL 1.x unterscheidet, aber da gibt´s eh noch nix richtiges von.

Coda
2004-09-06, 21:35:00
Warum sollte ID da mitreden? Die haben schließlich ne schöne Summe dafür kassiert.

Das API ist das kleinste Problem bei ner Engine, das ist schnell portiert.

Das was du meinst ist bestimmt diese Wrapper-Schei**e von Epic mit ihrer Unreal-Engine. Da werden aber wenig Effekte benutzt, welche jetzt besonders kompliziert wären. Daher funktioniert das mit den Wrappern auch.
Sorry, aber damit hast du dich endgültig disqualifiziert.
Die Calls sind in D3D und OpenGL sehr sehr ähnlich, da must du nicht viel "wrappen"
Schau dir mal Ogre an, dann verstehst du was ich meine.

UE3 benützt nen eigenen Shader Editor der entweder HLSL oder GLSL ausspuckt, daher ist das mit den Shadern auch kein Problem.

Gerade im Shader-Bereich sind OpenGL und DirectX verschieden. Da ist nicht einfach mal ein Schalter umgelegt und man spricht ne andere API an. OK. Ich weiß jetzt nicht inwieweit da OpenGL 2.0 sich von OpenGL 1.x unterscheidet, aber da gibt´s eh noch nix richtiges von.
Das weiß ich selber. Aber ob man jetzt in Q3 OpenGL Shader oder D3D Shader einbaut ist ungefähr der selbe Aufwand.
Es ist klar das man es nicht mehr so einfach später ändern kann.

Blackbird23
2004-09-06, 21:37:49
Ähm, bitte? Wie meinst du das jetzt?

Wenn die Engine D3D verwendet, samt Effekte dann ist es einfach so das sie nix mehr mit Quake3 zu tun hat. Die Quake3-Engine ist im Grafik-Teil reines OpenGL.

Das was du meinst ist bestimmt diese Wrapper-Schei**e von Epic mit ihrer Unreal-Engine. Da werden aber wenig Effekte benutzt, welche jetzt besonders kompliziert wären. Daher funktioniert das mit den Wrappern auch.

Gerade im Shader-Bereich sind OpenGL und DirectX verschieden. Da ist nicht einfach mal ein Schalter umgelegt und man spricht ne andere API an. OK. Ich weiß jetzt nicht inwieweit da OpenGL 2.0 sich von OpenGL 1.x unterscheidet, aber da gibt´s eh noch nix richtiges von.
So seh ich das auch... Q3 ohne OpenGL ist zumindest für mich kein Q3 mehr...

Coda
2004-09-06, 21:39:49
So seh ich das auch... Q3 ohne OpenGL ist zumindest für mich kein Q3 mehr...
Err. Die API Calls machen vielleicht nen Bruchteil von ner Engine aus.
Occlussion Culling, Shader Management, etc. ist der weitaus größere Teil.

Ich nehm an D3 läuft auf der XBox auch mit "Direct3D", so schwer ist das nicht zu konvertieren.

Gast
2004-09-06, 21:39:54
Die Entwickler haben schon vor fast einem Jahr in einem Interview gesagt (Leider find ich die Quelle nicht mehr.), daß sie auf der Q3 Engine aufbauen und aber einen neuen D3D Renderer dafür schreiben wollen.

Übrigens verwendet auch die originale Q3 Engine nicht ausschließlich Opengl. Alles was mit dem Sound zu tun hat läuft auch bei Quake3 über DirectX.

Coda
2004-09-06, 21:41:16
Übrigens verwendet auch die originale Q3 Engine nicht ausschließlich Opengl. Alles was mit dem Sound zu tun hat läuft auch bei Quake3 über DirectX.
Beitrag melden Mit Zitat antworten
Und wtf. hat das mit der Grafik-API zu tun? OpenGL mit DirectX zu vergleichen macht keinen Sinn.

TheCounter
2004-09-06, 21:42:44
Mit der Quake 3 Engine hat das nichtmehr viel zu tun, denn es ist ne Eigenentwicklung:

Medal of Honor Pacific Assault benutzt die hauseigende MOH Engine. Diese Engine wurde speziel für Medal of Honor : Pacific Assault entwickelt und eignet sich hervorragend für die Darstellung des Pazifik-Schauplatzes!

http://mohpa.justgamers.de/artikel.php?id=8

Coda
2004-09-06, 21:46:34
Die Gebäude sind auf jeden Fall noch Q3 Brushes, das kann man per Console sehr einfach überprüfen.
Die Engine hat wirklich nicht mehr viel mit Q3 zu tun, aber sie basiert auf dem schon sehr stark abgeänderten Vorgängen.
Ich versteh nur den Wechsel zu D3D überhaupt nicht. Das hat nur zusätzliche Arbeit bedeutet.

Vielleicht aus Kompatibilitätsgründen? Aber kann auch nicht sein, weil eigentlich eh nur ATi und nVidia unterstützt werden.

Oder man wollte das OpenGL PixelShader 1.x "Loch" umgehen

TheCounter
2004-09-06, 21:50:25
Ich versteh nur den Wechsel zu D3D überhaupt nicht. Das hat nur zusätzliche Arbeit bedeutet.

Ich denke eher das die neue Engine auf D3D entwickelt wurde und man nur gewisse Sachen "nachgebaut" hat...

Coda
2004-09-06, 21:52:47
Ich denke eher das die neue Engine auf D3D entwickelt wurde und man nur gewisse Sachen "nachgebaut" hat...
Sehr unwahrscheinlich, da ist definitiv noch Q3 Code drin.
Sieht man schon an den Dateiformaten, der Aufbau ist immer noch der selbe wie bei den orginalen Q3 BSPs.

Crazy_Bon
2004-09-06, 21:55:24
Anscheinend hat man wirklich den Renderer gewechselt, das hat ja auch Valve in Halflife1 mit der Quake1/2-Engine geschafft.

Optional ist in HL1 auch D3D möglich.

Ganon
2004-09-06, 21:58:24
Sorry, aber damit hast du dich endgültig disqualifiziert.


Na dann schreibe ne Engine die D3D und OpenGL unterstützt. Dazu noch Shader für alle Karten und nicht vergessen, es soll überall gleich aussehen.

OK. OpenGL 2.0 ist schon raus, aber davor blieb nix anderes übrig, als für jede Karte einen Pfad zu schreiben.

Es ist trotzdem so, das die Engine nix mehr mit der Quake3-Engine an sich zu tun hat. Das merkt man auch an D3D.

Coda
2004-09-06, 22:01:19
Na dann schreibe ne Engine die D3D und OpenGL unterstützt. Dazu noch Shader für alle Karten und nicht vergessen, es soll überall gleich aussehen.
Relativ einfach. Siehe OGRE. Für die Shader benützt es CG, das kann OpenGL und D3D Shader ausgeben.

OK. OpenGL 2.0 ist schon raus, aber davor blieb nix anderes übrig, als für jede Karte einen Pfad zu schreiben.
Nicht für >NV30 & >R300, was für zukünftige Engine sowieso die Basis bildet.

Es ist trotzdem so, das die Engine nix mehr mit der Quake3-Engine an sich zu tun hat. Das merkt man auch an D3D.
Hat sie definitiv. Siehe "sectorlist" Consolenkommando. Das ist definitv noch das gleiche PVS Occlussion Culling wie in Quake 3.

TheCounter
2004-09-06, 22:02:06
Sehr unwahrscheinlich, da ist definitiv noch Q3 Code drin.
Sieht man schon an den Dateiformaten, der Aufbau ist immer noch der selbe wie bei den orginalen Q3 BSPs.

Kannst du mir den Code auch zeigen? Ich will handfeste beweise und keine vermutungen, wie gesagt, den Aufbau und die Dateiformate kann man genausogut nachbauen und der hat nicht viel mit D3D oder OGL zu tun.

Coda
2004-09-06, 22:03:47
Ja genau, sie bauen alle Dateiformate genauso nach, weil sie alle genauso denken wie Carmack.
Sorry, aber wenn man eh alles neu schreibt, dann auch die Dateiformate.

Außerdem gibt es soviel gleiche Consolecommandos mit gleichem Output wie Q3, das ist einfach Schwachsinn, dass das alles repliziert wurde.

Blackbird23
2004-09-06, 22:06:28
Die Gebäude sind auf jeden Fall noch Q3 Brushes, das kann man per Console sehr einfach überprüfen.
Die Engine hat wirklich nicht mehr viel mit Q3 zu tun, aber sie basiert auf dem schon sehr stark abgeänderten Vorgängen.
Ich versteh nur den Wechsel zu D3D überhaupt nicht. Das hat nur zusätzliche Arbeit bedeutet.

Vielleicht aus Kompatibilitätsgründen? Aber kann auch nicht sein, weil eigentlich eh nur ATi und nVidia unterstützt werden.

Oder man wollte das OpenGL PixelShader 1.x "Loch" umgehen

EA mag wohl OpenGL net so wirklich... Die wollen sich lieber auf DX konzentrieren um ihren Freunden von MS zu schmeicheln und so ein offener Standard wie OpenGL ist wirklich EA-untypisch und da versuchen die wos geht es zu vermeiden (Meine Meinung ^^ Mag halt EA net wirklich :D )

mapel110
2004-09-06, 22:15:08
EA mag wohl OpenGL net so wirklich... Die wollen sich lieber auf DX konzentrieren um ihren Freunden von MS zu schmeicheln und so ein offener Standard wie OpenGL ist wirklich EA-untypisch und da versuchen die wos geht es zu vermeiden (Meine Meinung ^^ Mag halt EA net wirklich :D )

Die Theorie halte ich garnicht mal für unrealistisch. :)
Wobei da die Frage wäre, wieviel der Publisher bei der Entwicklung bestimmen kann, ob das Game nun D3D oder Opengl nutzen soll.

Blackbird23
2004-09-06, 22:15:37
Die Theorie halte ich garnicht mal für unrealistisch. :)
Wobei da die Frage wäre, wieviel der Publisher bei der Entwicklung bestimmen kann, ob das Game nun D3D oder Opengl nutzen soll.
Och mit Geld geht (fast) alles ^^

RoKo
2004-09-07, 01:49:58
Die Sache ist doch recht einfach: Sie haben den Renderer ausgewechselt, wie in dem Interview gesagt. Genau so ging man anfangs übrigens auch an Doom3 heran. Den Rest hat man halt einfach behalten, LevelHandling u.s.w.

Gast
2004-09-07, 12:30:05
ich vermute mal, dass noch teile der engine auf quake3 aufbauen, der großteil aber neu ist. die theorie, dass ea opengl nicht mag, wird noch dadurch untermauert, dass z.b. james bond 007 – nightfire (welches auf der half-life engine aufbaut) ausschließlich direct3d unterstützt.

zeckensack
2004-09-08, 12:44:57
Na dann schreibe ne Engine die D3D und OpenGL unterstützt. Dazu noch Shader für alle Karten und nicht vergessen, es soll überall gleich aussehen.

OK. OpenGL 2.0 ist schon raus, aber davor blieb nix anderes übrig, als für jede Karte einen Pfad zu schreiben.Du meinst wahrscheinlich "einen mehr als unter DirectX Graphics". Einen für NV2x, einen für R(V)2xx. Das ist alles.

Unter DXG kannst du dir aussuchen, welche 1er Shader du unterstützen möchtest. Irgendeinen wirst du aber nehmen müssen. Und unter OpenGL brauchst du zwei. Evtl nimmst du unter DXG sogar PS1.1 und PS1.4? Dann wär's gleicher Aufwand.

Demirug
2004-09-08, 13:07:20
Du meinst wahrscheinlich "einen mehr als unter DirectX Graphics". Einen für NV2x, einen für R(V)2xx. Das ist alles.

Unter DXG kannst du dir aussuchen, welche 1er Shader du unterstützen möchtest. Irgendeinen wirst du aber nehmen müssen. Und unter OpenGL brauchst du zwei. Evtl nimmst du unter DXG sogar PS1.1 und PS1.4? Dann wär's gleicher Aufwand.

Von der Shaderseite her in gewisser Weise schon aber der kluge Designer nimmt eine Hochsprache womit sich der Aufwand doch erheblich reduziert. Der HLSL Compiler baut auch schöne 1.X Shader.

Von der Engineseite her hat man aber den zusätzlichen Aufwand die unterschiedlichen Extension zu unter einem gemeinsamen Dach zu vereinen. Bei DXG gibt es dieses Dach eben schon. Wie üblich alles eine Frage der Kosten.

zeckensack
2004-09-08, 13:30:22
Von der Shaderseite her in gewisser Weise schon aber der kluge Designer nimmt eine Hochsprache womit sich der Aufwand doch erheblich reduziert. Der HLSL Compiler baut auch schöne 1.X Shader.Der faule und mit mittelmäßigen Ergebnissen zufriedene Designer könnte auch Cg benutzen und auf angemessenen Support von ATI's R200-Familie verzichten.

Die Schwäche beider Techniken liegt allerdings darin, dass man eben nicht "einen" Shader-Quellcode nehmen, und von "PS1.1" bis "SM3" alles damit vernünftig bedienen kann. Du musst als Designer immer noch selbst Hand anlegen wenn es um a)Multipass-Splits und b)das bewusste Weglassen von Komplexität geht.
Von der Engineseite her hat man aber den zusätzlichen Aufwand die unterschiedlichen Extension zu unter einem gemeinsamen Dach zu vereinen. Bei DXG gibt es dieses Dach eben schon. Wie üblich alles eine Frage der Kosten.Naja naja, aber welche Extensions gibt's denn sonst noch, die a)herstellerspezifisch und b)wichtig sind? Abgesehen vom fragment processing bleibt nur noch Kleinkram. Damit hat man keine besondere Arbeit, wenn man sich überhaupt mit sowas beschäftigen muss.

Mir fällt da jetzt eigentlich nur noch EMBM ein, aber das dürfte in Anbetracht der Verbreitung von vernünftiger Shader-Hardware kaum noch relevant sein.

Demirug
2004-09-08, 13:40:54
Der faule und mit mittelmäßigen Ergebnissen zufriedene Designer könnte auch Cg benutzen und auf angemessenen Support von ATI's R200-Familie verzichten.

Die Schwäche beider Techniken liegt allerdings darin, dass man eben nicht "einen" Shader-Quellcode nehmen, und von "PS1.1" bis "SM3" alles damit vernünftig bedienen kann. Du musst als Designer immer noch selbst Hand anlegen wenn es um a)Multipass-Splits und b)das bewusste Weglassen von Komplexität geht.

Multipass Splits habe ich schon automatisiert. Detailreduktion im gewissen Mass auch. Allerdings muss noch jemand die "Variable" auf den gewüschten Teildetailgrad setzten. Mit dem richtigen Testframework kann man sogar prüfen lassen welche Detailgrade bei welcher Shaderversion möglich sind. Das lässt man aber bei vielen Shadern besser über Nacht laufen.

Naja naja, aber welche Extensions gibt's denn sonst noch, die a)herstellerspezifisch und b)wichtig sind? Abgesehen vom fragment processing bleibt nur noch Kleinkram. Damit hat man keine besondere Arbeit, wenn man sich überhaupt mit sowas beschäftigen muss.

Mir fällt da jetzt eigentlich nur noch EMBM ein, aber das dürfte in Anbetracht der Verbreitung von vernünftiger Shader-Hardware kaum noch relevant sein.

An den NV2X und R2XX Extension kommt man im Moment nicht vorbei wenn man Komkurenzfähig sein möchte. Sind also mindestens 3 "Shader" Extension die zu vereinheitlichen wären. Ist wie gesagt kein Problem nur Arbeit.

Gast
2004-09-10, 23:23:23
Ich kann mit Alt-Tab den Desktop benutzen - also kann es kein OpenGL sein :usweet:

Das ist nicht wirklich ein Zeichen für "nicht-OpenGL" - meine eigene Engine schafft das auch.

Gast
2004-09-10, 23:25:42
Na wenn das Spiel D3D nutzen sollte dann KANN sie ja schon gar nix mehr mit Quake3 zu tun haben. ;)



Ja, aber sie werden in einer Engine (hier Quake3-Engine) vereint. Ansonsten wäre es keine Engine. Wenn man die Quake3-Engine nimmt und ne andere Physik-Engine einbaut, dann ist es nicht mehr die Quake3-Engine.

Eine Spiele-Engine besteht nicht nur aus dem Grafik-Teil. Eingabe, Sound, Physik, KI, etc. pp. sind alle mit drin.

Nicht unbedingt. Mit der UnrealEngine kauft man in der Regel ein Gesamtpaket, aber viele "Engines" bezeichnen rein den Grafikteil. Oder sind zumindest drauf fokusiert/zentriert.

Gast
2004-09-10, 23:26:25
Bei den neueren Engines vielleicht...bei der q3 Engine war bestimmt noch keine Physik (zumindest was wir heute darunter verstehen) drinne...

Und viele Engines werden tätsichlich erst nachträglich mit Physik-Engines ausgerüstet...z.B. hat IonStorm zur Unreal Engine noch die Havok Engine dazugekauft und dann selbst zusammengewürfelt (Valve hat sich für die Source-Engine auch Havok dazugekauft...)

Extra KI-Engines gibts AFAIK noch nicht...aber wird bestimmt auch noch kommen...man kann sich halt nicht um alles kümmern *g*

Doch, es gibt schon KI-Middleware. Hab schon so Anzeigen in der GameDeveloper Magazine gelesen. Wie die sind, weiß ich allerdings nicht.

Gast
2004-09-10, 23:31:29
Ähm, bitte? Wie meinst du das jetzt?

Wenn die Engine D3D verwendet, samt Effekte dann ist es einfach so das sie nix mehr mit Quake3 zu tun hat. Die Quake3-Engine ist im Grafik-Teil reines OpenGL.

Das was du meinst ist bestimmt diese Wrapper-Schei**e von Epic mit ihrer Unreal-Engine. Da werden aber wenig Effekte benutzt, welche jetzt besonders kompliziert wären. Daher funktioniert das mit den Wrappern auch.

Gerade im Shader-Bereich sind OpenGL und DirectX verschieden. Da ist nicht einfach mal ein Schalter umgelegt und man spricht ne andere API an. OK. Ich weiß jetzt nicht inwieweit da OpenGL 2.0 sich von OpenGL 1.x unterscheidet, aber da gibt´s eh noch nix richtiges von.

In der Regel werden Engines schon ziemlich gelayert und modular programmiert. Auch die Quake 3 und Doom 3 Engines. Das nennt sich nicht "Wrapper-Sch*", sondern ist schlicht gutes Software Engineering (nach dem Prinzip der Reusability und Wartungsfreundlichkeit). "Da werden aber wenig Effekte" benutzt ist auch falsch. Effekte mit Shadern gleichzusetzen ist leider eine Unart, die sich im Shader-Wahn der letzten Jahre leider in den Köpfen der User festgesetzt hat. "Effekte" sind prinzipiell Algorithmen, die unabhängig von konkreten Shader-Implementationen sind. Somit in beiden umsetzbar. Wenn man eine Multi-API-Engine hat, muß man natürlich dann entweder Shader mehrfach haben (was man im Normalfall sowieso hat, nur verdoppelt es sich dann) oder gleich Cg verwenden (was leider auch einige Schnitzer hat, aber vom Prinzip her einfach nur genial ist).

Soll heißen, im Prinzip reicht es, nur das "Renderer-Modul" auszuwechseln. Shader und das Shader-Interface muß man natürlich auch noch anpassen (doppelt programmieren etwa - oder gleich Cg verwenden, dann braucht man nur ein Interface und einen Shader-source), aber das ist ein eher kleines Problem (Shader sind jetzt nicht wirklich zentral in einer Grafik-Engine, die Art der internen Datenstrukturen, das Managen der Entities, Culling, usw. ist viel zentraler).

Gast
2004-09-10, 23:36:40
Na dann schreibe ne Engine die D3D und OpenGL unterstützt. Dazu noch Shader für alle Karten und nicht vergessen, es soll überall gleich aussehen.


Das ist zwar nicht all zu trivial, aber trotzdem jetzt nicht unbedingt der heilige Graal. Far Cry schafft's doch auch einigermaßen.


OK. OpenGL 2.0 ist schon raus, aber davor blieb nix anderes übrig, als für jede Karte einen Pfad zu schreiben.


Eben. Und wo glaubst du liegt der Pfad? Der ist ja nicht im gesamten Source Code verstreut, sondern betrifft zentral nur den Renderer. Wenn man dem jetzt einen D3D Pfad verpasst und die OGL Pfade weglässt, erhält man wohl das, was MOHAA ist. Obwohl natürlich noch viel erweitert wurde.


Es ist trotzdem so, das die Engine nix mehr mit der Quake3-Engine an sich zu tun hat. Das merkt man auch an D3D.

Das muß nicht unbedingt sein. Die API macht nur einen kleinen Teil aus, wie schon jemand erwähnt hat.

Das gesamte Datenmanagement, mit Entities, die prinzipiellen "Algorithmen", für Visibility Culling, für Space Partioning, Dateiformate, usw., sind sowieso schon API-unabhängig implementiert. Der Renderer ist zwar nicht so untrivial, aber erfordert insgesamt nicht sehr viel Code, der zu ändern wär. Und ist auch nicht mit der "Engine" gleichzusetzen, denn was eine Engine konkret macht, ist Datenmanagement der Szenenobjekte (Szenegraph-Management). Mit welcher API gerendert wird ist zwar auch Teil der Engine, aber im Vergleich dazu ein eher dezentraler.

Gast
2004-09-10, 23:37:25
Kannst du mir den Code auch zeigen? Ich will handfeste beweise und keine vermutungen, wie gesagt, den Aufbau und die Dateiformate kann man genausogut nachbauen und der hat nicht viel mit D3D oder OGL zu tun.

Aber der hat dafür mit der Engine zu tun, und um die geht es.

Gast
2004-09-10, 23:38:58
Die Sache ist doch recht einfach: Sie haben den Renderer ausgewechselt, wie in dem Interview gesagt. Genau so ging man anfangs übrigens auch an Doom3 heran. Den Rest hat man halt einfach behalten, LevelHandling u.s.w.

Genau das glaube ich auch!

Und im Prinzip ist genau das die Engine, also der Teil der gleich geblieben ist, also die Algorithmen API-unabhängig implementiert (die Renderer sind ja nur die konkreten Schnittstellen zur API, aber implementieren selber keine wirklichen Algorithmen).

tokugawa
2004-09-10, 23:40:08
Oops, wieso bin ich nicht eingeloggt?

naja egal, die Gäste da oben waren ich.

mapel110
2004-09-10, 23:56:27
Oops, wieso bin ich nicht eingeloggt?

naja egal, die Gäste da oben waren ich.

LOL, wollte dich gerade auffordern, dass du dich registrierst :D
sehr informativ, die Postings =)

nur ein Hacken hat deine Argumentation. Farcry hat nicht wirklich einen opengl-renderer, zumindest keinen Vollständigen. Das Game sieht um einiges schlechter aus in Opengl. kann allerdings auch daran liegen, dass der Opengl-renderer noch zu sehr beta ist. Ist ja am ende der Entwicklung des Games mehr oder weniger gecancelt worden bzw auf Eis gelegt worden.

MadMan2k
2004-09-11, 11:45:12
Das ist klar, die Frage ist warum.
weil man jetzt einen D3D Renderer hat?

edit: vielleicht sollte ich mal auf die Seitenanzahl achten...

][immy
2004-09-11, 12:12:08
nun, ich glaube die die nicht glauben das mohPA noch auf der Q3 engine basiert sollten sich mal ein wenig schlau machen und ein paar previews oder interviews mit den entwicklern durchlesen

es ist die Q3 engine. zwar extrem stark modifiziert, aber in ihren tiefsten tiefen immernoch das Q3 grundgerüst

wenn man mal genau hinschaut sieht man es auch allein an der verwendeten farbpallette die in Q3-engine spielen eigentlich immer gleich aussfällt

und shader einzubauen sollte in eine engine wohl kein problem darstellen, gerade bei opengl nicht
auch die physik wird inzwischen über eigene engines bearbeitet, hier müssen nur die physik und die grafikengine (bzw sonstige auch noch) miteinander kommunizieren können, und ich könnte mir sehr gut vorstellen, das die entwickler der havok physik engine ein interface für die meist verwendeten engines (Q3, Unreal) schon integriert haben

und mit Alt+Tab in den hintergrund schalten kann man eigentlich auch bei jeder engine, kommt nur drauf an ob es abgefangen wurde oder nicht, das hat ja weniger mit der engine zu tun, sondern eher wie windows es handhabt. habe auch schon q3 engine spiele gehabt bei denen man mit alt+tab in den hintergrund schalten konnte (im notfall geht immernoch str+alt+entf und dann auf einen anderen task umschalten)