PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Deferred Rendering in StarCraft II


deekey777
2010-07-31, 11:17:22
http://developer.amd.com/gpu_assets/S2008-Filion-McNaughton-StarCraftII.pdf
Das andere Doc ist "Chapter 5: StarCraft II: Effects and Techniques", was ich aber nicht finde.

Da die Diskussion um fehldenes Anti-Aliasing auf Radeon-Systemen ziemlich hitzig war und sich kaum eine Sau für den technischen Hintergrund interessierte, denke ich, dass ein Thread nötig ist, der erklärt, warum Blizzard überhaupt Deferred Rendering einsetzt.
Dass mit Deferred Rendering kein MSAA unter DX9 verfügbar ist, liegt daran, weil die DX9-Spezifikationen nicht erlauben, MSAA auf MRTs auszuführen. Die MRTs sind wiederum essentiell für Deferred Rendering, da der fette G-Buffer aus mehreren Render-Targets besteht (in SCII aus vier vierkanaligen FP16-Texturen, in STALKER SoC aus drei).
Fragen:
Die Grettchenfrage: Kann es sein, dass Blizzard sich für Deferred Rendering entschieden hat, weil sonst der Story-Mode mit Forward Rendering nicht mit akzeptabler Performance möglich wäre? Sprich: Für den Ingame-Mode ist Deferred Rendering nicht nötig.
Sie machen Early-Z? Wozu?

Captain Future
2010-07-31, 12:13:25
Google, erster Treffer.
http://www.google.de/search?hl=de&source=hp&q=Chapter+5%3A+StarCraft+II%3A+Effects+and+Techniques&aq=f&aqi=&aql=&oq=&gs_rfai=

Deine Docs sind allerdings zwei Jahre alt.

Was auch immer Blizzard geritten haben mag, ich kann es nicht verstehen. Wenn man sich wegen dem Story Modus entschieden hat, war es die falsche Entscheidung. Vorgerenderte Filme gibt's seit Ewigkeiten.

Armaq
2010-07-31, 12:54:48
Die meisten Filme sind nicht vorgerendet.

Captain Future
2010-07-31, 13:26:09
Äh...? Ich mein die Zwischensequenzen in Spielen. Vorgerenderte Filme, sodass man diesen dämlichen DR für den "Storymodus" nicht bräucht.

BlackFog
2010-07-31, 13:42:27
Äh...? Ich mein die Zwischensequenzen in Spielen. Vorgerenderte Filme, sodass man diesen dämlichen DR für den "Storymodus" nicht bräucht.
Gabs ind den 90gern mal. Keiner packt heute GBs an Zwischensequenzen mit auf den Datenträger.

Raff
2010-07-31, 13:49:11
Ingame-Grafik ist (sofern sie gut ist) eh viel besser. Videos sind idR niedrig aufgelöst und unscharf, während die eigentliche Spielgrafik von allen optischen Schmankerln profitiert, die man zuschalten kann.

MfG,
Raff

harzer_knaller
2010-07-31, 13:54:08
@BlackFog: Und was ist mit C&C3: Tiberium Wars? Nur mal so am Rande...
Mag eine Ausnahme sein, aber dort sind recht viele Videosequenzen in 720p und mit echten Schauspielern.

Coda
2010-07-31, 13:54:45
Äh...? Ich mein die Zwischensequenzen in Spielen. Vorgerenderte Filme, sodass man diesen dämlichen DR für den "Storymodus" nicht bräucht.
Ich glaube kaum, dass es da nur um den Storymodus ging. Es ist auch sehr effizient große Mengen an Geometrie (Zerg!) mit DR zu rendern und vor allem zu beleuchten, weil man nicht tausende State-Changes hat.

Gast
2010-07-31, 13:57:25
Und auf einem eher schwachen PC muss man mit schlechten Cut-Scenes leben.
Als man damals die vorgerenderten Cut-Scenes von WarCraft 3 sah, hoffte man spätestens bei einem StarCraft 2/WarCraft 4 auf fotorealistische Cut-Scenes.

Armaq
2010-07-31, 14:01:16
Ich glaube kaum, dass es da nur um den Storymodus ging. Es ist auch sehr effizient große Mengen an Geometrie (Zerg!) mit DR zu rendern und vor allem zu beleuchten, weil man nicht tausende State-Changes hat.
Dann ist ja alles klar. :)

aths
2010-07-31, 14:35:33
Ingame-Grafik ist (sofern sie gut ist) eh viel besser. Videos sind idR niedrig aufgelöst und unscharf, während die eigentliche Spielgrafik von allen optischen Schmankerln profitiert, die man zuschalten kann.Ich sehe den Hauptvorteil im fehlenden Stilbruch zwischen Ingame-Sequenz und Ingame-Mission. Erst nippt James E. Raynor am Glas, und schon latscht er über eine Kolonie in Mara Sar. Kein Unterschied: "Boah, g0iles vorgerendertes Video" und "akzeptable Ingame-Missionsgrafik". Es ist jetzt so: "Boah, krasse Kneipe" und "Krass, boahige Mission."

aths
2010-07-31, 14:37:27
Ich glaube kaum, dass es da nur um den Storymodus ging. Es ist auch sehr effizient große Mengen an Geometrie (Zerg!) mit DR zu rendern und vor allem zu beleuchten, weil man nicht tausende State-Changes hat.Deferred Shading nutzt SC2 erst ab Stufe "Hoch", um die lokalen Lichtquellen wie von einem Sammler getragenes Vespin zu ermöglichen. Zerglinge traditionell zu beleuchten dürfte mit DX9-Technologie nicht so schwer sein. Man braucht Deferred Shading nicht um das rendern weniger Lichtquellen auf viele Objekte zu beschleunigen sondern um viele Lichtquellen mit lokal begrenzter Wirkung zu erlauben. Dabei geht es auch um den Story-Modus, siehe Lichterkette in der Kneipe.

Coda
2010-07-31, 14:43:50
Zerglinge traditionell zu beleuchten dürfte mit DX9-Technologie nicht so schwer sein
Es geht um die Performance. Man muss für jede Lichtquelle die Geometrie im Bereich des Lichts nochmal rendern. Alternativ kann man mehrere Lichtquellen zusammenfassen solange die Interpolatoren reichen, hat dann aber das Problem, dass man zuviel rechnet bei Geometrie, die von einem Licht in der Gruppe beleuchtet wird und vom anderen nicht.

Vor allem aber müsste man wie gesagt auch noch die State-Changes mit reinrechnen, deren Komplexität dann in O(Lichter * verschiedene Objekte) liegt. Das ist gerade auf XP und D3D9 ein riesen Problem.

Man braucht Deferred Shading nicht um das rendern weniger Lichtquellen auf viele Objekte zu beschleunigen sondern um viele Lichtquellen mit lokal begrenzter Wirkung zu erlauben.
Mit vielen Lichtern wird es im Verhältnis schneller, aber dennoch ist viel Geometrie bei der Beleuchtung für einen Forward Renderer ein Problem.

aths
2010-07-31, 14:51:21
Ja – es geht um die Situation dass man viele (dafür in der Wirkung lokal begrenzte) Lichtquellen hat. Das ist gerade im Storymodus der Fall. Im Multiplayer gibt es eigentlich nur die Sonne als Lichtquelle, jedenfalls für den größten Teil der Karte. Dann drölfzig Linge zu beleuchten ist kein Problem. Das wird nur zum Problem wenn es zusätzliche Lichtquellen gibt. Dafür gibts dann Deferred Shading ab Detailstufe "Hoch". (Ob er Early-Z schon bei "Mittel" macht ist mir nicht bekannt.)

deekey777
2010-07-31, 14:55:39
Wie ist die Qualität der Kantenglättung?

Coda
2010-07-31, 15:12:09
Bei NVIDIA gibt's vereinzelt vertikale Streifen bei den Zwischensequenzen, aber sonst ist mir nichts aufgefallen.

Durch das Deferred-Shading muss nur die Lichtberechnung auch bei MSAA größtenteils per Sample durchgeführt werden. Deshalb ist es auch so teuer.

aths
2010-07-31, 15:14:06
Bei NVIDIA gibt's vereinzelt vertikale Streifen bei den Zwischensequenzen, aber sonst ist mir nichts aufgefallen.

Durch das Deferred-Shading muss nur die Lichtberechnung auch bei MSAA größtenteils per Sample durchgeführt werden. Deshalb ist es auch so teuer.Ja es frisst die fps zum Frühstück auch auf meiner übertakteten GTX 285 /2GB. Ich spiele meistens mit nur 2x AA. Aber bereits das bringt optische Vorteile. Den blöden Streifen im Bild bei Zwischensequenzen habe ich auch gelegentlich.

deekey777
2010-07-31, 15:23:21
Bei NVIDIA gibt's vereinzelt vertikale Streifen bei den Zwischensequenzen, aber sonst ist mir nichts aufgefallen.
Von den Fehlern habe ich gehört.

Durch das Deferred-Shading muss nur die Lichtberechnung auch bei MSAA größtenteils per Sample durchgeführt werden. Deshalb ist es auch so teuer.
Wie sieht's mit SSAO aus? Und anderen Effekten?

Coda
2010-07-31, 15:35:18
Wie sieht's mit SSAO aus? Und anderen Effekten?
Wie meinen?

deekey777
2010-07-31, 15:42:08
Wie meinen?
Verständnisfrage: Durch das MSAA kommen auf jeden Pixel zusätzliche Subsamples, womit der G-Buffer ums Vielfache größer wird, oder? Wie die Beleuchtung, greift auch das SSAO auf den G-Buffer zurück bzw. auf die gespeicherten Depth-Werte.
Wird das SSAO nur für die Pixel erstellt oder auch für die entsprechenden Subsamples? Oder wird das gleich vermieden?

Wir hatten ja diese "Warum kein D3D10.1 in Crysis"-Dsikussion, und meintest, dass dadurch ua SSAO auch für Subsamples gemacht werden muss, wenn man Kantenglättung aktiviert.

san.salvador
2010-07-31, 15:49:57
Ich bin nicht sicher, ob es perfekt hier her passt, aber...
Ich hatte nun die Gelegenheit, mir die Demo von SC2 anzusehen. Noch nie hat ein Spiel ohne AA so wenig geflimmert.
Keine Ahnung ob es an DR oder dem Content liegt, aber Hut ab vor Blizzard. Wenn ich es nicht gewusst hätte, hätte ich blind mind. 2xAA vermutet.

Coda
2010-07-31, 15:52:20
Verständnisfrage: Durch das MSAA kommen auf jeden Pixel zusätzliche Subsamples, womit der G-Buffer ums Vielfache größer wird, oder?
Jup.

Wir hatten ja diese "Warum kein D3D10.1 in Crysis"-Dsikussion, und meintest, dass dadurch ua SSAO auch für Subsamples gemacht werden muss, wenn man Kantenglättung aktiviert.
Um ein korrektes Ergebnis zu erzielen muss man das zumindest bei Kanten machen, also ja.

Grey
2010-07-31, 18:30:09
Vorgerenderte Filme gibt's seit Ewigkeiten.

CGI-Videos im Format von StarCraft 2 dauern für wenige Minuten Video viele Monate Arbeit und kosten tatsächlich gerne mal über 1 Mio. So etwas für eine gesamte Story ist in höchstem Maße unrentabel. (bin nicht ganz sicher, aber das sind bei denen und SquareEnix zumindest zum Teil sogar Inhouse-Produktionen).

Gast
2010-07-31, 18:33:07
Mal ne Frage. Wenn Starcraft II und GTA IV deferred Rendering nutzen, warum ist dann AA in SC2 möglich und in GTA IV nicht?

deekey777
2010-07-31, 18:48:16
Mal ne Frage. Wenn Starcraft II und GTA IV deferred Rendering nutzen, warum ist dann AA in SC2 möglich und in GTA IV nicht?
GTA4 verwendet kein Deferred Rendering wie SCII oder STALKER oder Killzone 2, sondern ein Verfahren wie in Uncharted, wenn mich nicht alles täuscht.
Warum es dort kein MSAA gibt? DX9-Restriktionen.

Nutzt das Spiel eigentlich fetch4?

aths
2010-08-01, 13:10:34
Nutzt das Spiel eigentlich fetch4?SC2 nutzt nur das was mit DX9 möglich ist.

Desti
2010-08-01, 17:24:42
SC2 nutzt nur das was mit DX9 möglich ist.

Und die Mäc-Version?

Coda
2010-08-01, 17:32:24
SC2 nutzt nur das was mit DX9 möglich ist.
Fetch4 steht als Texturformat-Hack auch in DX9 zur Verfügung:
http://developer.amd.com/gpu_assets/Advanced%20DX9%20Capabilities%20for%20ATI%20Radeon%20Cards.pdf

aths
2010-08-01, 18:03:46
Fetch4 steht als Texturformat-Hack auch in DX9 zur Verfügung:
http://developer.amd.com/gpu_assets/Advanced%20DX9%20Capabilities%20for%20ATI%20Radeon%20Cards.pdfSC2 nutzt die DX9-API ohne Hacks.
Und die Mäc-Version?Die Mac-Version nutzt OpenGL 2.x, aber eben auch auf dem DX9-Techlevel.

Coda
2010-08-01, 18:07:24
SC2 nutzt die DX9-API ohne Hacks.
Es ist kein wirklicher Hack. Es wird einfach als Texturformat zur Verfügung gestellt. Das ist durchaus im Rahmen der Spec möglich.

deekey777
2010-08-01, 18:10:43
SC2 nutzt nur das was mit DX9 möglich ist.
Aber natürlich: Warum etwas integrieren, was der Performance gut tun kann, insbesondere wenn man rumprosaunt, die eher die GPU zu belasten.

Coda
2010-08-01, 18:14:46
Es hat doch noch gar niemand gesagt, dass sie es nicht tun. Ich schau mir es später mal mit PIX an.

aths
2010-08-01, 18:17:12
Aber natürlich: Warum etwas integrieren, was der Performance gut tun kann, insbesondere wenn man rumprosaunt, die eher die GPU zu belasten.Weil man dann einen ATI-Pfad und einen Nicht-ATI-Pfad pflegen müsste.

deekey777
2010-08-01, 18:30:17
Weil man dann einen ATI-Pfad und einen Nicht-ATI-Pfad pflegen müsste.
gather4 ist ab D3D10.1 Pflicht, bietet Nvidia etwa kein fetch4 unter DX9 für GT200er Produkte und die Generation Fermi?

Coda
2010-08-01, 18:50:12
Weil man dann einen ATI-Pfad und einen Nicht-ATI-Pfad pflegen müsste.
Na und? Das Spiel hat 100 Mio. Dollar gekostet Aths.

gather4 ist ab D3D10.1 Pflicht, bietet Nvidia etwa kein fetch4 unter DX9 für GT200er Produkte und die Generation Fermi?
Vermutlich nicht. Die Spiele koppeln das soweit ich weiß eh an eine ATI-PCI-ID.

y33H@
2010-08-01, 18:59:23
Die 100Mio bezogen sich auf WoW. Das gab's doch ne Rückruderaktion, coda.

Gast
2010-08-01, 18:59:57
CGI-Videos im Format von StarCraft 2 dauern für wenige Minuten Video viele Monate Arbeit und kosten tatsächlich gerne mal über 1 Mio. So etwas für eine gesamte Story ist in höchstem Maße unrentabel. (bin nicht ganz sicher, aber das sind bei denen und SquareEnix zumindest zum Teil sogar Inhouse-Produktionen).

Hinzu kommt, das man quasi für jede Auflösung Videos mach müsste oder eben gezwungen ist zu skalieren. Früher war das noch weniger problematisch, da die Unterschiede zwischen den möglichen Auflösungen nicht ganz so extrem waren wie heute. Sofern das Spiel überhaupt eine Auflösung einstellen ließe... Und gerade für den PC gibt es ja auch Monitore, die unskaliertes FullHD problemlos im Fenster darstellen können. Selbst wenn man sich dann für FullHD und skalieren entscheidet, hat man noch das Problem das man für eine DVD stark komprimieren oder die Qualität anderweitig reduzieren müsste. Das will ja auch niemand.

Armaq
2010-08-01, 19:03:36
Die 100Mio bezogen sich auf WoW. Das gab's doch ne Rückruderaktion, coda.
Achso? Für WoW finde ich das sogar relativ lächerlich. Wenn man schätzt, dass 10 Mio. User monatlich 10€ zahlen...

y33H@
2010-08-01, 19:04:57
Naja, die haben auch laufende Kosten. Dennoch ein Goldesel ohne gleichen. Back to Topic ;)

@ deekey777

Nachdem du meine MSAA-Aussage (http://www.forum-3dcenter.org/vbulletin/showpost.php?p=8172416&postcount=153) ins B3D geschossen hast: Woher kommt die Aussage meinerseits, der Performance-Hit sei "normal"? Das habe ich iirc nie gesagt! Also wenn du mich mich vollem Name und Arbeitgeber benennst, dann quote oder verlinke meinen Aussagen zumindest!

deekey777
2010-08-01, 19:25:24
Naja, die haben auch laufende Kosten. Dennoch ein Goldesel ohne gleichen. Back to Topic ;)

@ deekey777

Nachdem du meine MSAA-Aussage (http://www.forum-3dcenter.org/vbulletin/showpost.php?p=8172416&postcount=153) ins B3D geschossen hast: Woher kommt die Aussage meinerseits, der Performance-Hit sei "normal"? Das habe ich iirc nie gesagt! Also wenn du mich mich vollem Name und Arbeitgeber benennst, dann quote oder verlinke meinen Aussagen zumindest!
Der Performance-Hit kommt von mir, genau wie die Begründung, warum es zu einem Performance-Hit kommt.

y33H@
2010-08-01, 19:26:40
OK, das wurde aus dem Post nicht ersichtlich. Dann sorry für den Ton.

deekey777
2010-08-01, 19:30:02
OK, das wurde aus dem Post nicht ersichtlich. Dann sorry für den Ton.
Ich habe Dich erwähnt, damit das auch glaubwürdig ist.
Überhaupt: Euer Test ist der einzige, dem ich aktuell traue. Nicht weil dieser die Ergebnisse von Guru3D nicht wiedergibt, sondern weil er neutral ist.

Coda
2010-08-01, 19:58:58
Die 100Mio bezogen sich auf WoW. Das gab's doch ne Rückruderaktion, coda.
Auch wenn's "nur" 20 Mio. waren isses lächerlich.

Gast
2010-08-01, 20:09:59
Ich habe Dich erwähnt, damit das auch glaubwürdig ist.
Überhaupt: Euer Test ist der einzige, dem ich aktuell traue. Nicht weil dieser die Ergebnisse von Guru3D nicht wiedergibt, sondern weil er neutral ist.

Definiere neutral

Coda
2010-08-01, 20:14:28
Was hat das überhaupt mit dem Thema zu tun?

aths
2010-08-01, 20:20:15
gather4 ist ab D3D10.1 Pflicht, bietet Nvidia etwa kein fetch4 unter DX9 für GT200er Produkte und die Generation Fermi?GT200 hat kein Fetch4. Ich weiß nicht ob NV für DX10.1- und 11-Produkte einen Fetch-4-Hack für die DX9-API anbietet, ich vermute aber dass sie das nicht tun.

deekey777
2010-08-01, 20:27:10
GT200 hat kein Fetch4. Ich weiß nicht ob NV für DX10.1- und 11-Produkte einen Fetch-4-Hack für die DX9-API anbietet, ich vermute aber dass sie das nicht tun.
Ich meinte die GT210er. :)

y33H@
2010-08-01, 20:31:24
@ deekey777

Dann habe ich das alles in den falschen Hals bekommen. Ein Danke daher von mir.

Gast
2010-08-01, 20:46:56
@Marc: Wann gibts denn AA Benchmarks von euch?

y33H@
2010-08-01, 20:58:02
When it's done ... wohl diese Woche.

Grey
2010-08-01, 21:05:16
Angesichts der Diskussion hier in Bezug auf performanteres Rendering der Zwischensequenzen stellt sich mir dann eine neue Frage: Warum keine DX10+ Unterstützung? Macht das bei DR nicht ohnehin mehr Sinn?

Gast
2010-08-01, 21:34:28
Ja sicher.
Aber man muss eben dann auf die Altkarten/XP-User verzichten.

Coda
2010-08-01, 21:37:21
Man hätte es ja auch zusätzlich anbieten können. D3D10 hat da schon große Vorteile. D3D9 verlangt beispielsweise, dass alle Rendertargets die selbe Größe haben, weshalb SC2 vier mal RGBA FP16 verwendet. Unter anderem für Albedo würden aber locker auch 8 bit reichen.

Ich geh aber davon aus, dass zumindest der NVIDIA-Treiber da jetzt schon eingreift und kleinere Formate einsetzt wo möglich.

Grey
2010-08-01, 21:44:28
Genau. In den meisten Spielen mit dahingehenden Optionen wird DX10 als Zusatz angeboten. Nur wenige laufen exklusiv unter DX10. Sogar die DX11-"Show-Off"-Titel wie Metro 2033 oder Alien vs. Predator bieten noch DX9 an.

Da steht bei mir nur ein ganz großes Fragebeinchen, denn Blizzard hätte Geld und Ressourcen gehabt.

deekey777
2010-08-01, 22:40:39
Sie haben ja schon die Mac-Version auf dem Hals, also müssen sie deutlich mehr machen.

Demogod
2010-08-01, 22:53:35
Ironie oder Mac bash? Ich mein realistisch wie aufwändig wird ein OGL (vermutlich 2.1?) Renderer + Inputkrams sein?

Gast
2010-08-01, 23:04:38
Ironie oder Mac bash? Ich mein realistisch wie aufwändig wird ein OGL (vermutlich 2.1?) Renderer + Inputkrams sein?

Wie aufwändig währe ein dx10 Renderer gewesen?

Demogod
2010-08-01, 23:05:38
Okay true. Ja dann vermutlich Ironie oder? ^^

del_4901
2010-08-02, 01:24:30
Man hätte es ja auch zusätzlich anbieten können. D3D10 hat da schon große Vorteile. D3D9 verlangt beispielsweise, dass alle Rendertargets die selbe Größe haben, weshalb SC2 vier mal RGBA FP16 verwendet. Unter anderem für Albedo würden aber locker auch 8 bit reichen.

Ich geh aber davon aus, dass zumindest der NVIDIA-Treiber da jetzt schon eingreift und kleinere Formate einsetzt wo möglich.
Woher hast du denn das G-Buffer Layout her? Haste das in Pix ausglesen? Biste sicher, dass du die richtige Stelle erwischt hast? Und selbst wenn, dann währ das auch nicht so tragisch, immerhin gibt es ein 16bit Integer Format, darin lässt es sich wunderbar packen.

aths
2010-08-02, 09:18:36
Sie haben ja schon die Mac-Version auf dem Hals, also müssen sie deutlich mehr machen.Ja die haben sich irgendwann für die PC-Version auf DX9 festgelegt. Weil sie da nicht ständig nachbesserten und noch dies und jenes unterstützten, blieb die Zeit, wenigstens DX9 anständig auszunutzen. Wer ein Auge dafür hat, sieht, wie gut das Postprocessing auf der Ultra-Detailstufe in SC2 ist. Das erzeugt Atmosphäre. Da sie Windows XP mit unterstützen müssten die sonst insgesamt drei Versionen supporten (XP, Vista+, Mac.) Ich kann mir vorstellen dass Blizzard darauf keine Lust hat.

Ironie oder Mac bash? Ich mein realistisch wie aufwändig wird ein OGL (vermutlich 2.1?) Renderer + Inputkrams sein?Etwas zu programmieren ist das eine. Es auf ein Jahrzehnt (oder länger) zu supporten, ist schon wieder was anderes.

Armaq
2010-08-02, 12:29:17
Der Chef für die Technologie von SC2 hat doch selbst gesagt, dass ein Extreme-GFX-Patch kommen wird. Ich brauch den zwar nicht, weil dann meine 4870 abraucht, aber für GTX480-User ist es doch super.

deekey777
2010-08-02, 12:29:45
Woher hast du denn das G-Buffer Layout her? Haste das in Pix ausglesen? Biste sicher, dass du die richtige Stelle erwischt hast? Und selbst wenn, dann währ das auch nicht so tragisch, immerhin gibt es ein 16bit Integer Format, darin lässt es sich wunderbar packen.
Ich kann deinem Einwand zwar nicht folgen, aber er bezieht sich wohl auf die Präsentation von Blizzard:
We are making heavy use of HDR in Starcraft II, and thus all these buffers will normally be four‐channel 16‐bit floating point formats. Using higher precision format helps to sidestep accuracy issues and minimizes pixel shader instructions for decoding the buffers. The restriction that all buffers should be of the same bit depth unfortunately forces the use of much wider buffers than we actually need for a many of these buffers, pushing the output bandwidth to 24 bytes per pixel. We’ve found however that even with this very heavy bandwidth cost the freedom this allows us in the placement of our lighting was well worth the expense.
Beim MRT0 und MRT3 ist der vierte Kanal nicht benutzt.

Coda
2010-08-02, 15:16:50
Woher hast du denn das G-Buffer Layout her? Haste das in Pix ausglesen? Biste sicher, dass du die richtige Stelle erwischt hast? Und selbst wenn, dann währ das auch nicht so tragisch, immerhin gibt es ein 16bit Integer Format, darin lässt es sich wunderbar packen.
http://developer.amd.com/gpu_assets/S2008-Filion-McNaughton-StarCraftII.pdf

del_4901
2010-08-02, 15:20:49
Ich kann deinem Einwand zwar nicht folgen, aber er bezieht sich wohl auf die Präsentation von Blizzard:

Beim MRT0 und MRT3 ist der vierte Kanal nicht benutzt.
Das war nur ne einfache Frage, weil es mich halt interessiert. Ich bin ja selbst ein großer Verfechter von deferred Ansätzen. Aber ich hatte es etwas anders gemacht, pack und unpack sind ja nicht so teuer. Ich glaube es macht bei einem DFR der häufig Texture-bound ist, sinn diese 3 Instruktionen zu tauschen. Vielleicht ist es ja sogar drin nur die Folien sagen was anderes. Das man auf so Folien nicht immer alles preisgibt, gehört ja zum guten Stil. Zumal das ja auch schon 2 Jahre alt ist. ;-)

Coda
2010-08-02, 15:38:52
StarCraft mag PIX leider nicht. Wird wohl der Cheatschutz sein.

numb
2010-08-03, 10:41:43
WoW bekommt mit Catalysm ein paar DX11 Features nachgeliefert...spricht also imho nichts dagegen, dass SC2 (spätestens) mit Heart of the Swarm auch nen neuen Renderpfad erhält. Irgendwas müssen die Coder ja eh tun während die CGI und Story futzies ihre Inhalte erstellen ;)

SentinelBorg
2010-08-05, 15:42:09
WoW bekommt mit Catalysm ein paar DX11 Features nachgeliefert...spricht also imho nichts dagegen, dass SC2 (spätestens) mit Heart of the Swarm auch nen neuen Renderpfad erhält. Irgendwas müssen die Coder ja eh tun während die CGI und Story futzies ihre Inhalte erstellen ;)
Ja, ich erwarte auch mit dem ersten oder spätestens dem zweiten Addon einen DX11 Renderpfad. Das Game soll dann ja schliesslich auch noch sehr lange im MP gut aussehen.

Was ich mich auch gerade frage, nutzt Diablo 3 eigentlich die selbe Engine oder entwickelt da Blizzard noch was anderes?

Gast
2010-08-06, 09:47:59
Was ich mich auch gerade frage, nutzt Diablo 3 eigentlich die selbe Engine oder entwickelt da Blizzard noch was anderes?
Es gibt keine "Engines" bei Blizzard, jedes Spiel ist handpoliert.

san.salvador
2010-08-06, 10:09:00
Es gibt keine "Engines" bei Blizzard, jedes Spiel ist handpoliert.
Und was nehmen die statt einer Engine?
Liebe? Magie? :ugly:

SentinelBorg
2010-08-06, 11:06:38
Wäre aber doch ziemlich blöde. Ich meine die Anforderungen an die Engines von SC2 und D3 sind doch ziemlich gleich. Ansicht von oben und große Mengen an Units.

Der neuste Build der Cataclysm Beta bietet übrigens nun den DX11 Mode.

Gast
2010-08-06, 15:20:28
Und was nehmen die statt einer Engine?
Liebe? Magie? :ugly:
du hast ja ne klasse humor-engine.:ugly:

iFanatiker
2010-08-06, 15:26:20
Wieso ist eigentlich SC2 generell durch die Bank schneller auf nVidia Karten als auf ATI Karten?

Bessere Optimierung der Engine bzw. Treiber oder andere Gründe?

Gast
2010-08-06, 15:34:07
Wäre aber doch ziemlich blöde. Ich meine die Anforderungen an die Engines von SC2 und D3 sind doch ziemlich gleich. Ansicht von oben und große Mengen an Units.

die anforderungen an alle engines ist recht gleich, ein paar objekte mit shadern, texturen und parametern an die graphikkarte weitergeben.

deswegen erkennt man meist auf den ersten blick wenn ein spiel die U3 engine benutzt...

aber in der realitaet sind es die vielen kleinen unterschiede die die spiele dann fordern, die den meisten aufwand machen... was verwaltet die engine, was das spiel? ...was ist spiel relevant und was nur ein optischer effekt etc.

deswegen gibt es keine engines bei blizzard. bzw kannst du auch sagen das ganze software produkt (editor inbegriffen) ist eine engine und wenn alpha erreicht ist und blizzard von preproduction in die production geht, wird dieses softwarepacket benutzt um das spiel zu produzieren. du bekommst so ziemlich alle tools mit dem spiel mitgeliefert die auch blizzard hat.

dass man mit starcraft ein (action) rpg machen kann steht ausser frage:
http://www.youtube.com/watch?v=Vjuf7DELz9s

aber ich glaube genau das ist es was blizzard ausmacht. es ist nicht eine firma bei der pro team jedes jahr ein spiel rauskommt dass 45% das vom vorjahr ist, 45% shared engine und 10% mehrwert ist, sondern wo auf sehr wirtschaftlich "irrationalle" weise spiele erstellt werden mit dem einzigen ziel sie so gut wie moeglich zu machen.

es ist einfach nur philosophie.

iFanatiker
2010-08-06, 15:49:16
dass man mit starcraft ein (action) rpg machen kann steht ausser frage:
http://www.youtube.com/watch?v=Vjuf7DELz9s


Viel besser noch:

http://www.youtube.com/watch?v=xR6U4SI0O6A&feature=related

Coda
2010-08-06, 15:59:16
die anforderungen an alle engines ist recht gleich, ein paar objekte mit shadern, texturen und parametern an die graphikkarte weitergeben.
Ist das wirklich ernst gemeint oder nur Satire? Als ob es so einfach wäre.

Mr. Lolman
2010-08-06, 16:18:29
Wieso ist eigentlich SC2 generell durch die Bank schneller auf nVidia Karten als auf ATI Karten?

Bessere Optimierung der Engine bzw. Treiber oder andere Gründe?

Ists ja nicht (bzw momentan nur mit AA): http://www.techspot.com/review/305-starcraft2-performance/page10.html

Gast
2010-08-06, 16:20:22
Rosinenpicken ;) Wer spielt schon ohne AA

Außerdem CPU Limit bei den Benchmarks

Gast
2010-08-06, 16:23:26
Rosinenpicken ;) Wer spielt schon ohne AA
Fast alle.
Es seid denn man mag Ruckeln.

iFanatiker
2010-08-06, 16:42:15
Ists ja nicht (bzw momentan nur mit AA): http://www.techspot.com/review/305-starcraft2-performance/page10.html

Bei guru3d sieht es aber deutlich anders aus z. B. ? Oder gab es schon mit 10.7 irgendwelche Änderungen? Oder hat guru3d (und paar andere Seiten) nur bißchen "biased" gemessen?

Gast
2010-08-07, 00:14:01
Ist das wirklich ernst gemeint oder nur Satire? Als ob es so einfach wäre.
Es ist wirklich so und nicht boese gemeint gewesen.
Es sagt aber auch, dass aus sicht von aussen die sache sehr einfach aussieht. iso sicht und eine menge objekte rendern. (chirurg sein ist ja auch einfach, aufschneiden, rausschnippeln und/oder zusammennaehen was kaputt ist und wieder zumachen.)

Natuerlich ist das viel zu einfach gesehen und deswegen im anschluss die erklaerung:
aber in der realitaet sind es die vielen kleinen unterschiede die die spiele dann fordern, die den meisten aufwand machen.

und die behauptung:
das ganze software produkt (editor inbegriffen) ist eine engine
was idealisiert ist und bei 99% der spiele nicht zutrifft, weil vieles spezialisiert ist und hardgecoded wird (alleine schon die menues die ueber hardgecodete callbacks usw gemacht werden), aber die meisten haben nunmal nicht den luxus "zeit" wie blizzard.

das eigentlich spiel wird im optimalfall dann (wieder idealisiertem data-driven-design entsprechend) rein ueber den content gemacht, deswegen:

die production geht, wird dieses softwarepacket benutzt um das spiel zu produzieren. du bekommst so ziemlich alle tools mit dem spiel mitgeliefert die auch blizzard hat.

ich hoffe ich bin jetzt ein wenig besser zu verstehen.

falls sich jemand dann fragt, weshalb man Diablo3 damit machen koennte, aber nicht macht: es ist schon alles fuer ein StarCraft spiel optimiert, wenn auch was anderes ging.
Besser veranschaulicht man sich das wenn man sich die clones ansieht (von Diablo und Starcraft). die machen spezialisiert genau dieses einfache prinzip nach, und weshalb wird keines so gut! es sind eben die vielen kleinigkeiten die das Spiel ausmachen, nicht das high-level prinzip.