Das bringt DirectX 10

Teldan

BdW-Administrator
Es gibt mal wieder einen neuen Bericht bei tecChannel/GameStar zum Thema DirectX 10, in dem die neuen Features etwas beleuchtet und weiter erläutert werden. Wer also mal wissen möchte, was bei DirectX 10 die bessere Performance bringen soll, der kann da ruhig mal reinschauen :)

In der Theorie klingt es ganz gut, aber die Gewisssheit werden wir erst mit den Benchmarks der ersten DirectX 10 Version bekommen, ich freu mich drauf ;)

http://www.tecchannel.de/client/windows/449917/
 

Anhänge

  • DX10_1_kl.jpg
    DX10_1_kl.jpg
    126,3 KB · Aufrufe: 497
  • DX10_2_kl.jpg
    DX10_2_kl.jpg
    152 KB · Aufrufe: 493
A

Anirab

Soviel Geld gibts ja garnicht für die passende Hardware :rofl:

Da kostet alleine die passende Graka wohl so um die 1000 Tacken, ein Dual Core Prozessor und 2 gig sowie die passenden Pladden müssen auch noch rein.

Vielleicht gewinn ich ja im Lotto :badevil:
 

Modru

New Member
Naja, zu dem rechten Bild kann man nicht allzuviel sagen, aber das Linke ist schon durch alle Flugsimulator-Foren mehrmals durch. Es ist sozusagen ein "offizieller Fake". Die besseren Grafiken sind "künstlerische Darstellungen" dessen was mit DX10 mal kommen "soll".

Oder anders ausgedrückt: Das Bild sagt eigentlich gar nix aus :)

Edit: Und nur mal so nebenbei bemerkt, selbst die "schlechteren" Grafiken schafft kein heutzutage käuflich zu erwerbender PC, in einer für Flusimulatoren angemessenen Framerate. Das sind Promobilder von MS und die Maschine, die diese Settings flüssig abnudelt ist, sagen wir mal, in 2 bis 3 Jahren als Highend verfügbar.
 

Dlorgromon

BdW-Veteran
Moin,

hatte mit letztens schon gedanken darüber gemacht was auf dem rechten Teil des linken Bild
sehr schön zu erkennen ist.

Angeregt durch die spiegelde Oberfläche des Wassers in DAoC habe ich mal überlegt,
ob es wohl möglich ist den effekt den man auf dem linken Bild schön erkennen kann
zu realisieren -- Wasser in dem man Objekte erkennen kann die unterwasser liegen und das trotzdem spiegelt.

Im rechten Teil des linken Bildes sieht man schön das die Brandung irrgenwelchen Dreck aufgewühlt hat -
könnt auch anders farbiger Grund sein - wird Direkt X10 das bringen.

Ich denke nicht .. spiegeldes Wasser ist eine Oberfläche die mit einer Textur versehen wird die ein raytracetes
und verzertes Image der Blickrichtung wiederspiegelt .. siehe oberes Bild .. mit einer veränderten dx3d.dll
konnte man diesen Effekt schon bei DX7 spielen nutzten.

Soweit ich das bis jetzt gehört habe wird sich an den vorgefertigten Wassereffekten nix ändern ..
Wellengang ausser das "standardwabern" der Textur oder auch Lichtquellen(Farbveränderung) die durch das Wasser scheinen
sind da nicht aufm Plan ..

Mit einem Glatten "Spiegelobjekt" wie es im Moment für Wassereffecte benutzt wird ist das nicht zu machen.
Man bräuchte also etwas in der Art eines "dynamischen Wellen/Wolkenobjekts" das Form Farbe usw. anhang von mehrern
"Blickrichtungen" verändert .. ohne gesonderte physikalische Berechnung ein Ding der Unmöglichkeit.

Selbst wenn die GFXKarte die Objektinformationen nicht selbst erstellen müsste wäre sie vermutlich mit dem anmalen der
vielen Polygönchen eines solchen "Dynamischen Objekts" heilos überfordert.

Ausserdem scheint M$ wohl andere Problemem zu haben als neue Effekte einzubauen -- seit Monaten schlampen sie die DX9
Versionsnummern - und hiefen das grad mal Betareife DX10 schon wieder auf ein neues Treiberkonzept ..

Vista öhm ne danke .. noch lange nich ..
 

Teldan

BdW-Administrator
Spiegelnde und gleichzeitig transparente Wasseroberflächen sind durchaus möglich. Das ist auch schon in diversen aktuellen Spielen zu bewundern, sofern man aktuelle Pixel- und Vertexshader verwendet. Mit Raytracing hat der Spiegeleffekt im übrigen nicht viel zu tun. Das wäre zwar die optimalste Lösung, diese wird aber wegen der hohen Rechenanfoderung höchstens in Tech-Demos Anwednung finden, nicht aber in Spielen. Vielmehr wird der Spiegelungseffekt via Environment-Mapping realisiert werden, bei dem die spiegelnde Umgebung unter Berücksichtigung des Blickwinkels auf die Wasserfläche projiziert wird. Simpler Trick und wesentlich weniger rechenintensiv. Unter Verwendung von Alpha-Blending und einer teiltransparenten und animierten Wassertextur ist der besprochene Effekt also kein wirkliches Problem.

Was die Kräuselungen im rechten Bild angeht: DirectX 10 bietet - wie schon in dem Artikel angesprochen - bessere und leistungsstärkere Routinen für das Displacement-Mapping, bei dem direkt Einfluß auf die "Form" eines Polygons genommen wird. Dabei werden die Vertices der Polygone anhand der Werte in einer Displacementmap - eine Art schwarz/weiss Textur, wie eine Heightmap - längst der Normalvektoren der Oberflächen verschoben. Somit wäre das Kräuseln der Wasseroberfläche zwar relativ rechenintensiv, aber nicht unmöglich (solche Effekte sieht man z.B. im 3D-Mark).

Und für das Aufwirbeln des Drecks könnte man Point-Sprites oder Billboarding verwenden, auch kein Problem.

Ein Bild wie die linken sieht man jetzt schon in aktuellen Spielen und das auch flüssig (zumindest technisch, also mit mindestens 25 FPS). Und ein Bild wie die rechten sind für mich auch durchaus vorstellbar, wenn man die Grafikqualität der Bilder in 3D-Mark mit berücksichtigt, die auch schon wieder 1 Jahr alt sind. Und mit aktuellen SLI Systemen sollte das durchaus realisierbar sein. Wenn man sich so die Bilder diverser Unreal 3 Engine Spiele anschaut .....

Die Effekte, die man so sieht, sind nicht immer so aufwending, wie man sich das anhand der physikalischen Gegebenheiten in der Realität vorstellt. Oft werden recht einfache Tricks verwendet, um eine ausreichend realistisch wirkende Illusion zu schaffen, die nicht einmal viel Rechenzeit erfordern.
 

Modru

New Member
Original von Teldan
Ein Bild wie die linken sieht man jetzt schon in aktuellen Spielen und das auch flüssig (zumindest technisch, also mit mindestens 25 FPS). Und ein Bild wie die rechten sind für mich auch durchaus vorstellbar, wenn man die Grafikqualität der Bilder in 3D-Mark mit berücksichtigt, die auch schon wieder 1 Jahr alt sind. Und mit aktuellen SLI Systemen sollte das durchaus realisierbar sein. Wenn man sich so die Bilder diverser Unreal 3 Engine Spiele anschaut .....

Mag schon sein, aber der FSX bringt diese Leistung zur Zeit definitiv selbst auf absoluten Highend PCs nicht.
Ein Grund warum das so ist wäre z.B., dass Spiele wie Unreal, Quake etc. i.d.R. sehr begrenzte Levelausdehnungen haben. Ein Flugsimulator erfordert aber einen sehr, sehr viel größeren sichtbaren Bereich. Weiterhin muß das Flugmodel berechnet werden. Andere Flugzeuge beleben den Lufraum. Es gibt jetzt Bodenfahrzeuge, sowohl auf den Straßen, als auch auf auf den Flughäfen. Autogen setzt Unmengen an Bäumen und Häuschen. Das Wetter muss berechnet werden. Auf- und Abwinde wirken auf das Flugzeug ein, die neuerdings durch Vogelschwärme visuell auszumachen sind. Und und und ...

Ich habe mehrere Settings. Wenn ich "Buschfliegerei" betreibe, kann ich die Grafik auf "gehobene Mittelklasse" hochschrauben (incl. 2x FSAA und 2x Anisotrophe Filterung) und komme auf etwa 12 bis 18 FPS . In der Nähe von Stadten, am besten noch mit internationalen Flughäfen (viele detailierte 3D-Modelle) gerät das dann aber zu Slideshow und ich muß auf einiges an Grafikpracht verzichten.
Mit den oben abgebildeten Settings würde ich wohl ca. 2 bis 3 FPS erreichen...

AMD 3000+ (2.6GHz), Nvidia 6800 GT (256 MB), 2 G RAM
 

Teldan

BdW-Administrator
Ich rede auch nur von der Grafikdarstellung
und nicht von Grafikdarstellung plus Spiellogik.
Das muss man an dieser Stelle schon trennen.
 

Modru

New Member
Dann gerät die Unterhaltung aber in rein akademische Dimensionen :badevil:
Denn was nutzt mir die tollste Grafik, wenn "das Spiel" nicht zugegen ist?
 

Dlorgromon

BdW-Veteran
öhm Teldan .. du hast da ja wirklich jedes Schlagwort der letzten 10 Jahre abgearbeitet ..

so einfach wie du das darstellst ist es aber nicht ..

Displacementmaps befinden sich im Mesh sind also statisch oder Animationsphasen gebunden ..
Das sähe genau wie Texturen mit animationsphasen mal so richtig scheisse aus etwa
so wie bei DX7 spielen dort wurden solche "Tricks" angewand ..
Mit mässigen "Echtheitseffekt" ..

Das was auf den Artworksreens dort zu sehen ist .. ist eine ganz andere geschichte die mit DX 9 oder 10 nix zu tun hat ..

Und "Reflective Environment Mapping" erfüllt zwar nicht den Intustriestandard für Raytracing ist aber schon nah dran. Da noch mit Particeln wie Pixel-Sprites zu arbeiten überfordert jedes herkömliche System ..

Und 3dMark ist Techdemo vom Feinsten .. glaubst du wirklich es ist "Wasser" das du da siehst ? zumindest keines das man in irrgendeinem SDK finden kann ..
 

Dlorgromon

BdW-Veteran
Auch noch zum thema ..

grad hab ich gelesen das in den neuen NForce Treibern jetzt erst, der für Mitte
des jahres bereits angekündigte "Havok FX -Grundstein" eingarbeitet wurde ..

Havok soll eine Technologie sein die Physikberechnungen über die Grafikkarte ermöglicht .. eben Rauch der durch Objekte verdrängt wird usw ..

Wenn die es jetzt implementieren in den Treibern .. könnte es auch von DX10 unterstützt werden .. bei der gegenwärtigen Lage bei M$ aber wohl eher nich ..

spässchen noch

Dlor
 

Teldan

BdW-Administrator
Na prima, da waren meine recherche für Projekt- und Diplomarbeit ja schon wieder völlig für den A****. wozu pauk' ich denn Dokus und Fachliteratur (sogar aktuelle!), wenn darin verwendete Techniken schon wieder völlig überholt sind? X(

Kannst du mir evtl. mal Quellen/Bücher/Links per PN schicken, wo man mal aktuelle Techniken findet? Für die Diplomarbeit müssen wir nämlich noch eine kleine Game-Engine entwickeln, die möglichst nicht auf dem Stand von vor 10 Jahren sein sollte ;) Das wäre toll, danke ;)
 

Dlorgromon

BdW-Veteran
jo Teldan

ich hab weder behauptet das du dich nicht mit der Materie auskennst noch das
deine Infos auf 10 Jahren alten Material beruhen ..

Mir war nur die die Verkettung von Schlagworten in Bezug auf auf die Screenshots
die man da oben sieht etwas zu trivial .. wenn du an einer Engine arbeitest wirst du das wohl auch wissen.

Ich perönlich habe nie eine Engine entwickelt .. aber ich habe geholfen 3D Modelle
zu Entwerfen ,Textureieren und Animieren .. leider schon einige zeit nicht mehr .. bzw. warte schon ewig auf das Release von ArmedAssault (OFP2).

Alles was ich sage das die Screenshoots da oben mit DX10 "Boardmitteln" reine Utopie sind.

Edit: Buchtipps habe ich ünrigens keine die etwas füe einen Entwickler einer
Engine abwerfen würde .. Addison/Wessley wäre da ne Richtung die ich Empfehlen
könnte aber die decken wohl den gesammten Markt der Entwickler ab .. ansonsten
die OpenGL/DX Dokumentation oder die diverser 3DModeller oder POVRay ..

Edit2: Ausserdem würden mich ein paar Details zur eurer Engine interessieren .. OpenGL und/oder D3D ? Sprache usw. aber das iss wohl mehr was für einen anderen Thread ;)
 

Teldan

BdW-Administrator
Oh, sorry, dann habe ich das etwas falsch verstanden ;D
Hast' mir 'nen ganz schönen Schrecken eingejagt :P ;)

Hehe, meine Auflistung an Schlagworten war auch mehr ein erstes Brainstorming zur Umsetzung einer möglichen Realisierung, als eine faktische Anleitung zur Problemlösung aus der Praxis ;)

Wie aus meinem oberen Post herauszulesen basieren die Ansätze auch nur aus erarbeiteter Theorie. In meiner weiteren Arbeit wird sich herausstellen, wie das ganze dann in der Praxis aussieht ;)
 

Teldan

BdW-Administrator
ICh wärm den Thread mal wieder auf ;)

Ich habe mir für meine Diplomarbeit gestern 'mal die Demos zur Ogre Engine angeschaut, und die waren durchaus beeindruckend. Unter anderem gab es da 2 Demos zum Thema Wassersimulation. Einmal eine kräuselnde, transparente und spiegelnde Wasseroberfläche (links), da sieht man auch die Fische die darin rumschwimmen ;)
Das andere ist eine Ozeansimulation. Das ganze sieht live natürlich viel besser aus, aber auf dem screenshot sieht man schon die Qualität. Die 75 FPS sind mit maximalen Qualitätsinstellungen entstanden u.A. 6xAA . Das ganze läuft unter DirectX9. Die Demos selber könnt ihr unter http://www.ogre3d.org/ finden.
 

Anhänge

  • ogre.jpg
    ogre.jpg
    160,7 KB · Aufrufe: 283
  • ogre2.jpg
    ogre2.jpg
    173,6 KB · Aufrufe: 273

Modru

New Member
Hm, die Bilder hauen mich erstmal nicht so vom Hocker. Da finde ich das Wasser in Gothic 3 deutlich besser - zumindest in den Flüssen, da am Meer die Brandung nicht besonders aussieht und die Engine das Wasser nur auf relativ kurze Distanz darstellt.
Aber im Binnenland haut es mich immer wieder um, wie schön und relistisch es da vor sich hinplätschert. :)

Und nochwas: Gestern hab ich Zugang zur Festung in Montera bekommen und erstmal ein bischen rumgeschnüffelt. In einer Art Schlafraum der Orks fielen mir dann die Fenster auf. Die bestehen aus lauter kleinen, Glasscheibchen. Erst dachte ich sie wären gemalt, aber dann sah ich, das sich die Konturen der Burgtürme dahinter auf eine merkwürdige Art abzeichneten und sich auch korrekt mit meiner Bewegung veränderten. Beim genauen Hinsehen haute es mich dann echt um. Die kleinen Scheibchen waren alle durchsichtig und "brachen" das Licht wie lauter kleine Linsen. Man konnte die Orks auf dem Hof verkleinert und mehrfach sehen. Evtl. vergleichbar mit einem Insektenauge.

Unglaublich :) Wie das gesammte Spiel :)

Auch alles DX9 natürlich, um mal zum Topic zurückzukehren :badevil:
 

Teldan

BdW-Administrator
Original von Dlorgromon
... ob es wohl möglich ist den effekt den man auf dem linken Bild schön erkennen kann zu realisieren -- Wasser in dem man Objekte erkennen kann die unterwasser liegen und das trotzdem spiegelt.
...
Ich denke nicht ..

Mit den Bilder wollte ich Dlorgromon auch nur zeigen, dass diese Technik sehr wohl realisierbar ist. Die Demos sind nur zur Demonstration einzelner Techniken für die Entwickler gedachte. Diese sind daher auch örtlich entsprechend klein gehalten, da es ja nur um die dargestellte Technik an sich geht. Einen wie von Modru beschriebenen "Lichtbrechungseffekt" gibt es auch in einer der Ogre Demos. Zwar nur als Pixelshader für die gesamte Ansicht, aber das dürfte auch kein Problem sein diesen auf eine beliebige Oberfläche zu rendern.
 
Oben