Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

stef

Treue Seele

  • »stef« ist der Autor dieses Themas

Beiträge: 246

Wohnort: Kassel

Beruf: Softwareentwickler

  • Private Nachricht senden

11

13.12.2013, 18:43

@Legend: So sehr stecke ich in dem Thema nicht drin um das beurteilen zu können.

Ich bin halt seit Quake1 mit ID Spielen aufgewachsen.
Ich kenne ID immer nur als die absoluten Vorreiter in Sachen 3D-Technik.
Ich weiss noch genau wie es mich mitte der 90'er vom Schlitten gehauen hat als ich das erste mal Quake 2 auf einer Voodoo 1 Karte gesehen habe.
Ausserdem fand ich es cool das Carmack bis zum Schluss OpenGL treu geblieben ist und eindrucksvoll bewiesen hat was man mit der Schnittstelle realisieren kann.
Ich denke mal das viel von dem Trouble bei ID auch auf die Übernahme durch ZeniMax 2009 zurück zu führen ist.
Auf jeden Fall bin ich erst mal gespannt auf Doom4 und Wolfenstein the new order. Beides Titel die auf IDTech5 aufsetzen und die hat Carmack ja noch entwickelt.
"In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." — Bjarne Stroustrup.

stef

Treue Seele

  • »stef« ist der Autor dieses Themas

Beiträge: 246

Wohnort: Kassel

Beruf: Softwareentwickler

  • Private Nachricht senden

12

13.12.2013, 21:14

Hier noch eine coole mehrteilige Doku über Entstehung und Werdegang von ID ...

PART1
PART2
PART3
PART4
PART5
"In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." — Bjarne Stroustrup.

13

13.12.2013, 22:33

Nun, zumindestens die Alpha war damals revolutionär, da sie konsequent auf komplett Echtzeitbeleuchtung gesetzt hatte. Das hat damals natürlich keinerlei Global Illumination bedeutet. Aber auch keine damals eigentlich etablierten Techniken wie Lightmaps. Das hat man dann ja auch im fertigen Spiel gesehen. War man in einer dunklen Ecke war es auch einfach mal schwarz. Das Ergebnis war sehr anders, es war daher gewagt, war aber mit iD's Designstil vereinbar. Wobei die Zeit zwischen Alpha und fertigem Spiel sehr lang war und andere schon vor Release teilweise nachgezogen hatten.

Soweit ich weiß, war Doom 3 einfach das erste Spiel, das Shader grundsätzlich für alle eingesetzt hat. Morrowind hatte vielleicht das erste mal hübsches (oder sagen wir 'interessantes') Wasser, aber bei Doom 3 war dann das erste mal wirklich alles mit Shadern gerendert (alleine schon wegen der Schatten). Und eben diese Umstellung war einfach einer der ganz großen Sprünge in der gesamten 3D-Grafik.
Andere beeindruckende Spiele wie Crysis oder Battlefield 3 waren nach meinem empfinden eher extrem gute Umsetzungen von Dingen, die es so oder so ähnlich schon gab, aber kein so großer Sprung wie Doom 3.

Vielleicht wäre Raytracing der nächste tolle Sprung. Wobei ich mir da überhaupt nicht mehr so sicher bin, ob das wirklich die Zukunft ist. Perfekte Reflektionen, perfekte (harte) Schatten und vielleicht perfekte mathematische Objekte (wie Kugeln) sind dessen große Stärke, aber irgendwie braucht man das alles nicht in einer normalen Szene. Es gibt hübsche Raytracing Techdemos, aber sehr viel mehr seit Jahren irgendwie nicht. Und irgendwie steckt ja heute schon in diversen Shadern irgendeine Form von Raytracing.
Lieber dumm fragen, als dumm bleiben!

Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

14

13.12.2013, 22:50

Wenn schon Raytracing, dann nicht das klassische Whitted Raytracing, denn das ist halt hauptsächlich für die von dir beschriebenen Dinge gut, sondern optisch etwas in Richtung Path Tracing. Als Implementation vielleicht auch sowas wie Photon Mapping. Auch bei Raytracing hat sich in den letzten Jahrzehnten etwas getan. ;)
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

15

13.12.2013, 23:06

Ok, ich habe das falsch formuliert: Mit "große Stärke" meine ich "sehr schnell zu berechnen". Soweit ich weiß, läuft fast alles darüber hinaus darauf hin "einfach in jede Richtung eine Menge Strahlen zu schicken". Man kann damit imemrnoch viele Effekte sehr elegant beschreiben und Implementieren, aber die Laufzeit explodiert halt.
Die Qualität ist danach natürlich super, aber dafür rechnet dann so ein Renderer pro Bild auch Minuten oder Stunden. Und wo Rauschen in einem einzelnen Bild schon stört, wird es erst recht fies, wenn es sich in bewegten Bilder ständig ändert.

Das Raytracing (bzw. dessen Weiterentwicklungen) für den Nicht-Echtzeitbereich ungeschlagen ist, kann man denke ich einfach so sagen, aber ich sehe im Moment nicht, wie man das Echtzeitfähig bekommen soll. In der Gamestar war vor Jahren mal ein euphorischer Artikel über 'Quake 3 Raytraced' (oder so ähnlich), aber wenn man sich ansieht, auf was für Hardware das lief, dann war es auf einmal überhaupt nicht mehr so beeindruckend.
Lieber dumm fragen, als dumm bleiben!

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

16

14.12.2013, 00:41

Ich sehe das auch eher wie Jonathan_Klein, wobei ich glaube das sich die Megatextures schon halten werden für manche Einsatzgebiete. Aber niemand wird das mehr als großen PR-Namen benutzen. Wobei ich mich manchmal gefragt hatte, ob nicht auch Carmack schon seine besten Zeiten hinter sich hat.

Virtual Memory ist eines der ganz großen Features, die man imo für zukünftige GPU Generationen erwarten darf. MegaTexture war ein erster Push in diese Richtung. Was war nochmal gleich die ganz große Neuerung im gerade eben veröffentlichten Direct3D 11.2? Achja richtig, "Tiled Resources"...aka MegaTexture...ich denk, dass wir das zumindest zum Teil John Carmack zu verdanken haben, der sich seit Jahrzehnten mit seinem Namen und Einfluss bei den Grafikkartenherstellern für solcherlei Dinge einsetzt. Insbesondere was MegaTexture angeht, hat er sich ja bereits seit langer Zeit sehr lautstark über die mangelnde Kontrolle über die Hardware auf PC Seite beklagt...nun offenbar mit ein wenig Erfolg... ;)

Aber wenn ich z.B. lese das Carmack Sparse Voxel Octress mit Ray Tracing hervorhebt um mehr Details zu speichern (http://www.pcper.com/reviews/Graphics-Ca…hysics-and-more), dann denke ich mir "ah ja, das klingt mal nicht so interessant ...". Was aber auch daran liegt, dass ich nicht finde, dass heutige Spielegrafik in erster Linie an zu grober Geometrie kranken würde. Das war wohl zu Zeiten von Quake 1-3 das große Problem, heute sehe ich da andere Baustellen die mich viel mehr stören.

Nun, Dinge wie Tessellation haben wir heutzutage nicht einfach nur, weil Microsoft inzwischen mal langweilig war. Ein fundamentales Problem aktueller GPUs ist allerdings, dass die Hardware für relativ kleine Dreiecke zunehmend ineffizient wird. Mit immer größeren und detaillierteren Spielwelten wird man hier sehr bald an Grenzen stoßen. Diesen Hype um "Unlimited Detail" etc. vor einiger Zeit gab es nicht völlig ohne Grund. Sparse Voxel Octrees sind eben ein (im Gegensatz zu UD seriöser) Vorstoß in Richtung alternative Repräsentationen/Renderingverfahren. John Carmack hat allerdings bereits vor längerem gesagt, dass er, nach viel herumexperimentieren mit der Technik, nichtmehr so überzeugt davon ist, wie einst...

Ja, ich finde andere hatten da bessere Ideen mit dieser Datenstruktur: http://on-demand.gputechconf.com/gtc/201…llumination.pdf

In der Tat, Global Illumination ist imo das ganz große ungelöste Problem in der Echtzeitgrafik. Aber nur weil ebenfalls ein Octree verwendet wird, ist das obige Verfahren nicht automatisch mit Sparse Voxel Octrees vergleichbar. Das ist in etwa so, als würde ich sagen, dass Leute bereits bessere Ideen für Arrays hatte, als Bilddaten drin zu speichern...

Kurzum: Die heutigen Engineprofis sind wohl direkt mit GPUs, DirectX, usw. "groß" geworden und finden sich da dann scheinbar doch besser zurecht als ein Carmack, zu dessen Anfangszeit man noch jede Instruktion in Assembler selber bedenken musste. Nichtsdestotrotz: Ohne Carmack hätte es das ganze Genre nie gegeben und selbst wenn meine Interpretation zutreffen sollte, hat er noch sehr lange ganz vorne mitgemischt. Aber auch Enginetechnisch sehe ich iD heute nicht mehr vorne. Da gibt es heute doch besseres, Frostbite, CryEngine und wohl auch noch die Unreal Engine.

Weil heutzutage Technologie allein zunehmend nebensächlich ist. Für riesige Produktionen wie aktuelle AAA Titel ist es viel wichtiger, eine Komplettlösung zu haben, wo der Workflow von vorn bis hinten und in alle Richtungen perfektioniert ist, sodass hunderte Artists die Unmengen an Content in endlicher Zeit stemmen können. Der Nachteil ist natürlich, dass Innovation auf fundamentaler Ebene in so einem Umfeld kaum stattfinden kann. Wäre ich John Carmack, würde ich mir wohl auch bald eine neue Beschäftigung in einem Bereich suchen, wo sich noch was bewegt; nicht weil die "besten Zeiten" bereits zurückliegen, sondern weil AAA Spiele heute offenbar kaum noch Umfeld für interessante Entwicklungen bieten und ich mich mit meinen Fähigkeiten wohl lieber an neuen Herausforderungen versuchen würde...

Zum Thema Raytracing, hier vielleicht ein paar Links:
http://igad.nhtv.nl/~bikker/
http://raytracey.blogspot.com/
http://www.youtube.com/watch?v=yzE4auqSCi4
http://www.youtube.com/watch?v=gZlCWLbwC-0

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »dot« (14.12.2013, 01:03)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

17

14.12.2013, 23:12

Jacco Bikker war schonmal bei uns an der Hochschule und hat einen Vortrag gehalten! :)
Er war AFAIK einer der ersten, die ernsthaft versucht haben Echtzeit-Raytracing zu betreiben. Als man dafür noch belächelt oder für verrückt gehalten wurde.

Werbeanzeige