Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 
 
 




Go Back   World of Players > World of Gothic > Gothic Diskussion


Notices

Post New ThreadReply
 
Thread Tools
Old 18.11.2005, 13:57 Profil Homepage Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #1
Sowilo
Halbgott
 
Sowilo's Avatar
 
Join Date: Apr 2004
Location: Bremen
Posts: 9,306
Männlich
 
Was für Technik in G³?

In Gothic³ werden eine menge grafische "Spielerreien" zum Einsatz kommen, für viele Spieler (mich eingeschlossen) sagen die Features aber wenig. Deswegen soll dieser Thread dazu dienen, dass Unwissenden wie mir von welchen die sich auskennen Features erklärt werden.

1) Was in G³ vorkommt/unterstützt wird:

- Gamebryo Engine -> Genome Engine
- Emotion FX2 Engine
- AGEIA PhysX SDK
- Miles sound system

- Normal mapping
- Glow und Blur Effekte
- Shader Model 3.0
- Radiosity simuliert durch Ambient Light
- SpeetreeRT

- Multithreading (Hyperthreading)
- Dual Channel RAM
- Dual Core
- 64 bit Prozessor Architektur
- (SLI/Crossfire)

2) Beschreibungen (ist das richtig?)

- Eine Grafikengine wie die Gamebryo Engine regelt die Darstellung der grafischen Komponenten eines Spieles. Die Gambryoengine funktioniert grundsätzlich sowohl mit DirectX als auch OpenGL und unterstützt z.B. bei dem Sound auch das Miles System, bei der Physik grundsätzlich Havok oder Meqon und SpeedtreeRT. Programmiersprache ist C/C++. Grundsätzlich läuft sie auf Windows, Xbox, Playstation und Gamecube. Features sind z.B. das Laden von Weltteilen im Hintergrund, per Pixel und per Vertex Lighting, specular highlights, transparente und animierte Texturen, grundsätzlich u.A. bumpmapping sowie diverse Shader. Bei Animationen werden u.A. Keyframes und skeleton animations unterstützt. Desweiteren Environment Mapping, Lensflares, Billboarding, Particle Systems, Sky, Fire, Explosions, Decals und Fog (range, z- and texture based).
- SpeedtreeRT ist eine Technologie die einen nicht nur hilft realistisch anmutende Bäume zu erstellen sondern auch bei kopierten Bäumen leichte Variationen hinzufügt, damit nicht jeder Baum wie der andere aussieht. Auch berechnet sie den Detaillevel der angezeigten Bäume so, dass entferntere aus weniger Polygonen als nahe bestehen, dadurch sind Wälder auch für die Hardware berechenbar. Ebenfalls erlaubt sie eine Beeinflussung der Äste z.B. durch Wind.
- Miles sound system ist eine Programmbibliothek für Entwickler, die alle möglichen Features unterstützen wie z.B. multichannel audio, looping von MP3 file's, etc.
- EAX speziell in Spielen angewand löst folgende Problematik. Ein Gewehrschuss hört sich in einer Halle, in einem Gang oder im freien unterschiedlich an. Man kann aus diversen Gründen jedoch nicht für jede mögliche Umgebung einen extra Sound aufnehmen. Also gibt es nur einen Sound der der Umgebung entsprechend mit Effekten die EAX beinhaltet angepasst wird. In einer Hall z.B. der Hall-Effekt und in Korridoren kommen Reflexionen der Wände hinzu.
Nicht zuletzt wird natürlich auch 3dimensionaler Raumklang simuliert.
- Eine Physikengine wie die Engine die das AGEIA PhysX SDK beinhaltet ist eigentlich eine Sammelung von Programmroutinen, die physikalisches bzw. realistisch anmutendes Verhalten von Objekten simulieren.
So wird z.B. der Haarpracht von Charakteren durch eine entsprechende Routine leben eingehaucht oder ein erlegtes Tier fällt physikalisch korrekt zu Boden und könnte einen Hang in eine Schlucht abrutschen.
- Die Emotion FX2 Engine sorgt für die Animationen der Objekte. Auch sie beinhaltet eine Reihe von Features, die den NPC's Leben einhauchen. Bei der Lipsync Technologie bewegt ein Charakter z.B. seinen Mund entsprechend der Lautstärke des Sprachfiles dass er im moment spricht. Dadurch muss ein Entwickler nicht für jedes einzelne Gespräch die Gesichtszüge des Sprechenden anpassen sondern es reicht einmal die "Gesichtsmechanik" anhand eines Bones Modelles zu definieren. Die Animationen beschränken sich aber nicht "nur" auf die Bewegungen von Kreaturen sondern helfen z.B. auch Wasser glaubwürdig darzustellen.

- Wenn man was per Hand modelliert benutzt man normalerweise Keyframes - "Schlüsselbilder". Dabei wird z.B. beim Laufen ein Bein in der Startposition eines Schrittes und einmal bei der Endposition eines Schrittes jeweils als Keyframe definiert. Die Bewegung zwischen den beiden Keyframes die dadurch resultiert ist dann der animierte Schritt. Obwohl man durch Motion Capturing realistischere Bewegungsabläufe hinbekommen kann wird oft ohne gearbeitet, da es nicht nur billiger ist sondern sich mit z.B. Drachen nur schwer arbeiten läßt.

- Bei dem Motion Capturing werden einem Schauspieler Punkte an die Kleidung geheftet deren Position von Kameras gefilmt wird während er bestimmte Bewegungen ausführt. Die gespiecherten Bewegungsdaten werden dann in das Spiel übertragen und dienen als Grundlage für die Bewegungsabläufe der Spielfiguren.

- Shader Model 3.0 ist eine ist eine Sammlung von Instruktionen zur Manipulation der Shader-Units.
- Pixel Shader ist ein kleines Programm, welches von den sogenannten Shader Units einer Grafikkarte angetrieben wird und auf die Instruktionen des Shader Models zurückgreift. Anders als der Vertex Shader ist er hauptächlich für die Darstellung von Pixeln und somit von Texturen und deren Oberflächeneffekte zuständig.
Der Pixel Shader entstand historisch aus dem Combiner – der genaue Aufbau der Shader-Hardware ist geheim

- Vertex Shader ist eine programmierbare Funktion der Rendering Pipeline eines Graphikprozessors. Programmierbar ist er durch DirectX oder OpenGL. Er berechnet Form- und Beleuchtungsänderungen von Polygonen und kreiert auf dieser Basis 3D Darstellungen wie sie z.B. für das Bump-Mapping notwendig sind. Erste Grafikkarte die den Vertex Shader unterstützte war die Geforce 3. Die Geforce 4 MX kann diesen nur dürftig emulieren, sodass z.B. Gothic³ mit einer Geforce 3 aber mit keiner Geforce 4 MX laufen wird.
- Vorgänger des Vertex Shaders ist das Hardware T&L (Transform and Lighting) das wie der Vertex Shader aus der simulierten dreidimensionalen Welt die 2D Darstellung auf dem Desktop mit den damit verbundenen perspektivischen Verzerrungen und die Beleuchtung berechnet.
- Neustes Verfahren bei den Beleuchtungssystmen (wohl nicht in Gothic³) ist das Per Pixel Lighting, dass z.B. von Doom³ oder FarCry benutzt wird. Hier wird nicht das Licht für Flächen berechnet sondern direkt für jeden einzelnen Pixel, was noch detailiertere Ergebnisse verspricht.

- In der Computer Graphic bezeichnet man als Vertex einen Vektor der Informationen über die Eckpunkte von Polygonen (wie z.B. Koordinaten, Farbe, Transparaenz etc.) enthält.

- Körper und Flächen setzen sich aus Polygonen zusammen. Polygon bedeutet nichts weiter als Vieleck. Kleinstes mögliches Polygon ist das Dreieck was bei der PC Grafik überwiegend benutzt wird. Einfachster Körper ist demnach ein Tetraeder. Der Detailgrad eines Körpers hängt maßgeblich von der Anzahl der dargestellten Polygone ab.

- Billboarding ist folgender Trick: Es ist nicht immer notwendig dem Spieler eine 3dimensionale Sache zupräsentieren. Es reicht oft schon, wenn man aus 2 Polygonen ein Viereck baut und auf dieses ein Bild klebt, dass sich immer Richtung Spieler dreht. Dies wird oft bei Blättern von Bäumen benutzt, damit sie von allen Seiten Grün erscheinen, wenn man genau drauf achtet fällt einem aber (unangenehm) auf, dass die Blätter sich mitdrehen wenn man um den Baum läuft.

- Eine Textur ist eine Art Tapete die man auf ansonsten farb- und strukturlose Oberflächen klebt. Eine Steinstruktur kann man sich als Tapete vorstellen, auf der lediglich Steinformen aufgemalt sind.
- Im moment ist diese Mauer eigentlich recht flach. Also die Steine wirken tatsächlich wie aufgemalt. Damit sie aber wie dreidimensional aussehen kann man Schattierungen hinzufügen (1). Problem dabei ist, dass die aufgemalten Schattierungen um die Steine dreidimensional wirken zu lassen nicht auf die Lichtquellen reagieren. Also egal von welcher Seite das Licht kommt, der Schattenwurf der Steine ist immer an der selben Stelle.
- Eine frühe Lösungsmöglichkeit ist das Bumpmapping. Bei dem Bumpmapping ist wie gesagt die Zielsetzung, dass sich der Schattenwurf der aufgemalten Backsteine nach der Position der Lichtquelle richtet. Dazu muss man dem System erst mal mitteilen, wo die Backsteine aus der Mauer herausragen und wo nicht (anhand der Steintextur erkennt er das nicht). Dies macht man, indem man über unsere Textur (ohne aufgemalte Schatten) eine weitere Textur eine sogenannte Reflectionmap legt. Diese besteht auch nur aus Graustufen. Wobei die Wert der "Farbe" (0-255, schwarz bis weiß) für die Höhe bzw. Tiefe der Steinstrukturen steht. Anhand dieses in Graustufen codierten Höhenwert kann nun berechnet werden, ob ein Pixel an einer Stelle ist, bei dem er im Schatten liegt und durch das Licht erhellt wird. So richtet sich der Schattenfall (2) nach der Position der Lichtquelle.
- Die Weiterentwicklung nennt sich Normalmapping. Beim dem Normalmapping macht man folgendes. Man baut unsere Steintextur tatsächlich in 3D nach und stellt anhand dieses Modelles fest in welche Richtung jeder einzelne Pixel unserer flachen Textur schauen müsste, wenn er denn wie beim Modell tatsächlich 3D wäre. Nun stellt sich die Frage, wie man alle 3 Raumkoordinaten die für die Ausrichtung eines Bildpunktes nötig sind in einen Bildpunkt einer Textur kriegt. Ganz einfach. Alle Farben am PC setzen sich aus 3 Farben zusammen. Man codiert also die Ausrichtung der Pixel bzw. die dadurch erfolgende Reflexionswinkel in den Rot, Blau und Grün Anteilen einer farbigen Textur, die man über die eigentliche Textur legt. Dabei ist Rot für die X-Achse zuständig. Grün für die Y-Achse und Blau für die Z-Achse.
Als Ergebnis erhalten wir einen noch realistischer wirkenden Schattenwurf (1) der sich an den Lichtquellen orientiert.
- Bei den obigen Verfahren wird nun zwar der Schattenwurf so berechnet, als ob die Objekte real 3D wären, aber wenn man aus einen Spitzen Winkel draufkuckt sieht man, dass die Schatten sich zwar an Lichtquellen orientieren und die Steinstruktur so tut als ob sie 3D wäre es aber nicht ist. An diesen Hornrammer sieht man z.B. die "Furchen" in der Haut. Diese sind jedoch nur aufgemalt. Das sieht man wenn man an den "Rand" des Körpers kuckt. Dort sind nur grade Kanten die keine Furchen aufweisen.
- Um solche Furchen tatsächlich dreidimensional zu machen kommt man nicht drumherum die Oberflächen tatsächlich dreidimensional zu gestalten. Dies tut das so genannte Displacement Mapping, was folgendermaßen funktioniert. Ich habe eine normale flache Fläche mit dutzenden Pixeln, aus denen diese besteht. Diese Pixel sind alle auf einer Ebene angeordnet. Ich kann diese Pixel aber auch aus der Ebene rausschieben oder sie in die Ebene reindrücken. Wieweit ich das tue bestimmte ich wieder mit einer Graustufentextur. Anhand der Werte wird festgelegt, wie weit die Pixel verschoben werden sollen. Anders als bei den schon genannten Verfahren werden hierbei aber zusätzliche Polygone erstellt. Vorteil ist, dass man nicht per Hand jede Fuge in einer Mauer selbst gestalten muss sondern dass das Programm das Anhand der in einer Textur codierten Höhenstufen selbst macht. Und auch von der Seite sieht die Struktur dreidimensional aus, aus dem einfachen Grund, weil sie dreidimensional ist.
Ein weiterer Vorteil ist, dass man bei schwachen Systemen einfach die dreidimensionale Darstellung deaktivieren kann sodass man auch ohne einen High End Rechner ein Spiel (wie z.B. Oblivion), das auf Displacement mapping setzt, (wenn auch ohne 3D Mauern) genießen kann.
Gothic³ hingegen wird eher auf echte Polygone setzen die man nicht deaktivieren kann, sodass man es nur mit besseren Rechnern flüssig spielen kann.
- Parallax Mapping (auch Photonic, Offset oder Virtual Displacement Mapping) ist simuliertes Displacement Mapping - also die Oberfläche ist plan. Dadurch sind auch wie beim Normal Mapping Ränder der Fläche grade. Anders als bei dem Bump- und Normalmapping werden aber perspektivische Effekte wie Tiefenparallaxe und Verdeckung (Winkel 1, Winkel 2) berücksichtigt.
Diese kommen dadurch zustande, dass die Textur sich teilweise selbst verdeckt und andere Pixel gedehnt werden.
- Damit was gespiegelt werden kann muss die zu spiegelnde Umgebung in ein Bild, der so genannten environment map, umgewandelt werden. Anhand dieser Textur werden die Reflexionen an einen Gegenstand erreichnet. Man unterscheidet zwischen dem:
Sphere Environment mapping: Umgebung wird zu einer Textur gemorpht die das spiegelnde Objekt kugelfärmig umschließt. Nun kann berechnet werden, welche Punkte der Umgebung mit der die Kugelinnenseite ausgekleidet ist auf dem Objekt sichtbar sind. Bei dem Umrechnen der Umgebung zu dieser Textur treten aber unvermeidbare Verzerrungen auf.
Cube Environment mapping: Hier wird nicht ein Schnappschuss der Umgebung zu einer Kugel verformt sondern mit sechs Bildern die Innenseiten eines Würfels ausgekleidet, indem sich das Objekt befindet. Hier beschränken sich die Verzerrungen auf die Würfelkanten.

- Damit eine Wand auch an Stellen heller ist, an denen eine Lichtquelle wie z.B. eine Fackel, angebracht ist benötigte man eine Lightmap. Diese ist genau so groß wie das Mauerstück mit dem Unterschied, dass keine Steine abgebildet werden sondern nur Graustufen. Ergebnis; Dort wo die Lightmap hell ist bleibt auch das Mauerwerk hell. Dort wo die Lightmap dunkel ist wird auch die Mauer dunkler.
- Eine Weiterentwicklung ist das Vertex Lighting (Basis von Hardware Lighting -> Hardware T&L). Hier wird die Helligkeit der einzelnen Pixel dynamisch berechnet. Dabei unterscheidet man zwischen ambient light (erhellt gleichmäßig), diffuse light (Lichtquelle) und spectacular lighting ("blendende" Lichtreflexion).
- Die Beleuchtung haben wir ja schon angesprochen. Hierbei aber nur die direkte Beleuchtung. Also was von ner Lampe angestrahlt wird wird hell. Dabei wird keine indirekte Beleuchtung berücksichtigt. Wenn ich z.B. in einem dunklen Zimmer ein Fenster öffne sehe ich nicht nur einen Lichtfleck von der Form des Fensters auf der dem Fenster gegenüberliegenden Wand sondern diese Wand reflektiert das Licht und erhellt schwach den restlichen Raum. Dieses Verfahren wird Radiosity genannt. Da es aber oft zu aufwendig ist zu berechnen, wieviel Licht von der Wand reflektiert wird legt man einfach einen festen Wert für das gestreute Licht, Ambient Light, fest.

- Eine Kugel besteht in Spielen meistens aus Flächen, was bei dem normalen Flat Shading den Nachteil hat, dass die Flächen die die Kugeloberfläche haben recht harte Farbübergänge haben.
- Bei dem Gouraud Shading wird deshalb ein Farbverlauf an den Kanten der Flächen erstellt, sodass unsere Kugel runder wirkt als sie es tatsächlich ist.
- Das non plus ultra ist das Phong Shading. Hier wird eine Interpolation anhand der Normalen der Vektoren durchgeführt, wodurch sogar Glanzpunkte möglich sind.

- hard shadows - abruppte Schattenenden.
- soft shadow - auslaufende Schattenränder.
- fuzzy shadows - weiche Schattenkanten.

- Die bilineare Filterung wird dazu verwendet um Texturen zu skalieren, ohne dass sie verpixeln. Dazu werden neue Bildpunkte durch eben das bilineare Filtern bzw. Interpolieren generiert. Problem dabei ist, dass Texturen im Vordergrund eine andere Qualität als entferntere haben. So erkennt man unschön wo die Texturen aneinander stoßen.
- Diese Unschönheit löst das trinileare Filtering, indem bei den Texturen auch die Qualität der angrenzenden Texturen berücksichtigt wird bzw. eine zusätzliche Interpolisation stattfindet
- Normalerweise werden gleich weit entfernte Texturen gleich stark polarisiert. Problem dabei ist, dass Objekte die man im spitzen Winkel betrachtet dabei eine schlechtere Qualität als solche haben auf die man direkt blickt. Um diesen qualitativen Unterschied zu kaschieren werden bei der anisotropischen Filterung (AF) Objekte die mit in einen spitzeren Winkel betrachtet höher aufgelöst (auf Wand links Grenze zwischen Hell und Dunkel achten) (Gothic) polarisiert als andere.

- High Dynamic Range (Rendering) - HDR(R) - ist ein Effekt der Überblendeeffekte erlaubt (blooming). Wenn man z.B. einen Stift vor die Sonne hält wird der Konturen des Stiftes vom Sonnenlicht überstrahlt (bitte nicht nachmachen). Dieser Effekt findet normal bei Lichtquellen Anwendung und wird auch eingsetzt, wenn man von dunklen Räumen in helle wechselt um das geblendet sein zu simulieren.
- Blur ist ein Unschärfeeffekt, der als "weichzeichner" verwendet wird. Genaue Umrisse und harte Kanten "verschwimmen". Bis zu einen gewissen Grad kann es realistischer wirken wird aber leider von Entwicklern oft benutzt um schlechte Texturen zu kachieren.
- Motion Blur wird vorallem bei Rennspielen benutzt um bei hohen Geschwindigkeiten den Bildrand verschwimmen zu lassen um einen "Tunnelblick" zu simulieren.
- Glow ist einfach das glühen eines Objektes. Ein eigentlich normales Objekt wird mit einer Textur überzogen, sodass es ein Glühen über seinen Körper hinaus erzeugt. Mögliches Anwendungsgebiet sind z.B. magisch aufgeladene Waffen die dann zu glühen anfangen.
- Der Lensflare Effekt bezeichnet eigentlich die Reflektion von Licht auf einer Linse, in Spielen wir dieser Effekt oft angewendet wenn man in Lichtquellen wie z.B. die Sonne sieht.
- Fogging bezeichnet Nebel wobei es 3 verschiedene Arten gibt (Entfernungs-, z- und Textur basierten). Bei dem z basierten Nebel werden einfach auf größere Entfernungen Objekte mehr und mehr verschleiert. Positiver Nebeneffekt dabei ist, dass damit die Sichtweite begrenzt wird, man keine Objekte "aufpoppen" sieht und dass man damit eine bessere Performance als mit unendlicher Sichtweite hat. In Gothic läß sich dieser Nebel durch den Befehl zfogzone deaktivieren. Damit verwand ist das Deep Cueing, Objekte werden auf größere Disntanzen dunkler.
- Das Partikelsystem ist eine Funktion von Animationsprogrammen um die Bewegung mehrerer Objekte zu beschreiben, bei der es nicht auf die Bewegung eines Einzelobjektes ankommt. Partikel werden von einen Emitter ausgestoßen, ihr Verhalten richtet sich nach Lebensdauer, Geschwindigkeit, Anzahl, Dämpfung, mögliche Teilung und Krafteinflüssen. Mit ihnen läßt sich u.A. Rauch, Feuer (1) und Nebel darstellen.

- HDR bedeutet High Dynamic Range und bezeichnet die Größe des Farbspektrums - genauer des Kontrastes - , das in einer Textur gespeichert ist (normales JPG 1:250). Dies ermöglicht es für bestimmte Grafikeffekte das Farbspektrum der Textur zu verschieben. Echtes HDR gibt es eigentlich nich nicht, lediglich MDR, Medium Dynamic Range. Um die Grafikkarten besser verkaufen zu können wird aber behauptet, dass es sich um HDR handelt, obwohl sie in echt ein "nur" mittelgroßes Farbspektrum verarbeiten. Nvidia spricht bei 16 bit von HDR, obwohl es mindestens 32 benötigt.
Das Kontrastverhältnis bei HDR würde 1 : 60 000 betragen. Das können normale Monitore garnicht anzeigen (benötigt HDR Display), für normale wird der Effekt lediglich simuliert.

- Antialiasing ist eine Technologie die versucht "Treppchenbildung" zu entschärfen. Dabei gibt es verschiedene Verfahren. Supersampling Antialiasing (SSAA) rechnet von einer höheren Auflösung das Bild auf eine niedrigere runter. Dabei verschwimmen aber auch Texturen und nicht nur Kanten. Beim Fragment Antialiasing (FAA) werden ähnlich wie beim MSAA vorrangig Kanten geglätten.
Eine Kombination von MSAA und SSAA ist das Full Screen Antialiasing (FSAA), es führt zu einer deutlich besseren Bildqualität führt aber gewöhnlich zu einer Performance Einbuße von bis zu 50 %.

- 64 bit Prozessor Architektur bedeuted, dass anders als beim 32 bit Porzessor 8 Byte statt 4 pro Prozessortakt parallel verarbeitet werden können. Damit das System nicht ausgebremst wird müssen sämtliche Komponenten mindestens eine Bandbreite von 64 bit unterstützen.
Hierdurch können mehr als 4 GB RAM vom System genutzt werden und Software die auf die neue Bandbreite ausgelegt ist bzw. die neuen ressourcen nutzen kann läuft besser als auf 32 bit Systemen. Auf 64 bit Prozessoren laufen meistens auch 32 bit Funktionen, sie sind abwärtskompatibel.
- Hyperthreading ist meines wissens eine von Intel entwickelte Technologie (allgemein nennt man sie multithreading), mit der man eine CPU virtuell in 2 CPU's teilt. Generell nennt sie sich Multithreading. Dabei gibt es den Vorteil, dass die Teilung variabel ist, bei 3 GHz habe ich also nicht 2 feste 1,5 GHz große Sektionen sondern je nach Belastung kann sogar einer der Teile die gesamten 3,0 GHz ausnutzen. So könnte ich mit einer ruckelnd Farcry spielen während die andere flüssigen Winamp sound liefert. Für Spiele kann es den Vorteil geben, dass z.B wenn das Spiel drauf ausgelegt ist die eine CPU mit der Physik beschäftigt ist während die andere die Graphik übenrimmt. Da parallel und nicht nacheinander gerechnet wird soll es angeblich eine bessere Performance geben.
- Dual Core sind einfach 2 echte CPU's. Der selbe Vorteil wie beim Hyperthreading. Wenn man das zusätzlich zu dem Dual Core nimmt hat man insgesamt 4 virtuelle CPU's die 4 Prozesse parallel ausführen können. So sieht man dann auch im Taskmanager in Windows 4 CPUs und deren Auslastung.
- Dual channel RAM unterstützt. D.h. 2 oder 4 gleichgroße Rammstücke (z.B. 512) können auf Motherboards die dies unterstützen parallel betrieben werden, was eine Leistungssteigerung von bis zu 5 % bringen soll:
- Dual port RAM ist ein RAM dessen Architektur es ermöglicht statt einen zwei Zugriffsvorgänge gleichzeitig auf einen Ramriegel durchzuführen. Damit beide sich nicht in die quere kommen und auf kleine Stellen zugreifen gibt es noch einen Mechanismus, der den Zugriff regelt. Da dies sehr komplex ist schafft man das nur mit Ramriegeln die wenig "Leistung" haben und es hat auch seinen Preis.
- Double sided RAM ist RAM arbeitet anders als single sided RAM RAM mit 4 statt 2 RAS Signalen. Das ist möglich, weil er quasi aus 2 Ramriegeln bestehen die sich eine Platte teilen bzw. eine Platte die von beiden Seiten (double sided) mit Ramsegmenten besetzt ist. Optisch sind sie nicht voneinander zu unterscheiden.

- SLI (Scanline Interleaving) ist eine Methode die von 3dfx bei einigen Vodoo-Karten eingeführt wurde. Die anfallende Rechenarbeit der Grafik wird auf 2 oder mehr Grafikchips verteilt. Dies wird getan indem nach dem Halbframe-Verfahren die Berechnung der Bildschirmzeilen abwechselnd auf die verschiedenen Chips verteilt werden.
Ein Spiel muss dieses Feature nicht supporten es hängt alleine von der Hardware ab.
- SLI (Scalable Link Interface) ist ein von Nvidia verwendetes Verfahren um 2 Grafikkarten nutzen zu können. Hier müssen nicht nur die Grafikkarten sondern auch das Bios der Karten vom gleichen Herrsteller stammen. Das Motherboard muss ebenfalls das Feature unterstützen und grundsätzlich ist auch eine "Brücke" zwischen den Karten als Informationsleitung notwendig. Auch der Treiber muss das Verfahren kennen und über spezielle Profile für die Anwendungen verfügen, bei denen das Feature angewand werden soll.
Die Arbeit wird entweder durch das Alternate-Frame-Rendering (Chip 1 grade Frames, Chip 2 ungrade) oder durch das Split-Frame-Rendering (Bild in 2 Hälften unterteilt) auf die beiden Chips verteilt.
- Crossfire ist das von ATI entwicklete Verfahren um die anfallende Rechenlast auf 2 Chip zu verteilen. Anders als bei Nvidia müssen die verwendeten Karten nicht identisch sein. Es reicht wenn eine "Crossfire Edition" Karte mit einer "Slave" Karten zusammenarbeitet. Dabei ist auch eine Brückenverbindung zwischen den Karten nicht notwendig, sie werden mittels eines speziellen Monitorkabels verbunden.
Modi der Rechenverteilung sind neben SuperTiling (Bildschirm wird wie ein Schachbrett zerteilt wobei die eine Karte die weißen und die andere die schwarzen Felder berechnet) auch Scissor (Bild wird so in zwei Teile zerschnitten sodass beide gleich viel Rechenaufwand erfordern) und das von Nvidia bekannte Alternate-Frame-Rendering.
Auch hier is eine spezielle Unterstützung des Spieles nicht notwendig.

3. Bilder (G2)


1: Feuer durch Partikeleffekt.
2: Feuer durch animiertes (Gif) Billboard (Fläche die sich immer Richtung Betrachter dreht).


1. Mit Nebel.
2. Ohne Nebel.


1. + 2. Lensflareeffekt.


1. Ohne specular highlight.
2. Mit specular highlight (Glanzlicht an der Amphore).


1. Kein Antialiasing.
2. Mit Antialiasing.


1. Ohne anisotropisches Filtering.
2. Mit anisotropisches Filterering.


1. Licht ohne reflektierender Wand.
2. Licht mit reflektierender Wand.
3. Simulation einer reflektierenden Wand durch Ambient Light.


1. Ohne Texturen.
2. Mit einfacher Textur (keine Schatten in Fugen).


1. Einfache Textur mit aufgemalten Schatten (werden von Licht nicht beeinflusst).
2. Bumpmapping (Schattenfall orientiert sich an Lichtquelle).


1. Normal Mapping (realistischerer Schattenwurf).
2. Displacement mapping (Mauer ist ECHT 3D).

__________________

Last edited by Sowilo; 03.10.2006 at 13:53.
Sowilo is offline    
Old 18.11.2005, 14:31 Profil Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #2
Jodob
Sysiphos 
 
Jodob's Avatar
 
Join Date: Apr 2005
Posts: 7,188
Männlich
 
sehr gute zusammenfassung von begriffen... respekt...
also was ich zu shader modell 3.0 sagen kann ist folgendes:

es ist ein feature das zur zeit nur nvidia karten ab der 6er reihe unterstützen
(die X1800 von ATI wird es auch können aber zu ner 6600 gt is da ein winziger preisunterschied^^)
es ist in der tat eine sammlung von effekten wie z.b. hdr ( High Dynamic Range), also ein beleuchtungseffekt, der das überblenden von objekten darstellt wenn sich die sonne hinter ihnen befindet. bestes beispiel ist zur zeit half-lie 2 lost coast, dort wird dieser effekt eingesetzt um das blenden zu simmulieren das eintritt, wenn man von einem dunklen in einen hellen raum kommt. bei nfs most wanted gibt es auch diesen effekt.
ein weiteres feature vom shader modell 3.0 ist das schon genannte normal mapping... (zumindest kann man normal maps nicht mit direct x8 oder shader modell 2.1 erzeugen)

hoffe ich konnte ein wenig weiterhelfen

__________________
Jodob is offline    
Old 18.11.2005, 14:38 Profil Homepage Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #3
Sowilo
Halbgott
 
Sowilo's Avatar
 
Join Date: Apr 2004
Location: Bremen
Posts: 9,306
Männlich
 
Jo, HDR(R)? jatte ich ganz vergessen. Und das ist tatsächlich "nur" für diese Überblendeffekte zuständig?

edit: Achja, Blur und Glow hab ich auch vergessen, das ist nur unschärfe durch leuchten um schlechte Texturen zu üübertünchen?

__________________

Last edited by Sowilo; 03.10.2006 at 13:53.
Sowilo is offline    
Old 18.11.2005, 14:42 Profil Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #4
Jodob
Sysiphos 
 
Jodob's Avatar
 
Join Date: Apr 2005
Posts: 7,188
Männlich
 
bei den spielen wo diese features din sind war das bisher leider so... das is aber auch oft bei rennspielen so... soll mehr geschwindigkeit erzeugen zu mindest motion blur

__________________
Jodob is offline    
Old 18.11.2005, 14:43 Profil Homepage Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #5
Sowilo
Halbgott
 
Sowilo's Avatar
 
Join Date: Apr 2004
Location: Bremen
Posts: 9,306
Männlich
 
Ach genau, der "Tunneleffekt"? Wäre nen netter Effekt für das Sumpfkraut^^.

__________________
Sowilo is offline    
Old 18.11.2005, 15:00 Profil Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #6
Jodob
Sysiphos 
 
Jodob's Avatar
 
Join Date: Apr 2005
Posts: 7,188
Männlich
 
jo, in kombination mit hdr sicherlich sehr... stoned^^

was ich mich bei dem ganzen technik aufgebot allerdings frage wie soll das ganze so runtergeschraubt werden können dass man es auf einer geforce 3 spielen kann?
dann müsste ja das komplette spiel mit 3 shadern also 1.1 für direct x7, 2.1 für direct x8 und 3.0 für direct x9 programmiert werden... das is doch ne heidenarbeit....

__________________
Jodob is offline    
Old 18.11.2005, 15:11 Profil Homepage Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #7
Sowilo
Halbgott
 
Sowilo's Avatar
 
Join Date: Apr 2004
Location: Bremen
Posts: 9,306
Männlich
 
Also entweder programmieren sie auch ältere shader oder auf der Geforce 3 fallen die meisten Effekte einfach weg.

Last edited by Sowilo; 18.11.2005 at 15:22.
Sowilo is offline    
Old 18.11.2005, 15:21 Profil Homepage Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #8
J.P.
Schwertmeister
 
J.P.'s Avatar
 
Join Date: Aug 2005
Posts: 746
Männlich
 
Mit einer Geforce 3 wirst du das sowieso nicht spielen können, denn wenn dein Pc genauso alt ist wie die Graka dann kannst du das vergessen. Das brauch doch 3,2ghz Prozessorleistung.
J.P. is offline    
Old 18.11.2005, 15:28 Profil Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #9
FredK
Lehrling
 
Join Date: Nov 2005
Posts: 11
 
Also: Der unterschied zwischen dynamischen und statischen Schatten ist einfach, das die statischen vorberechnet sind (z.B. Lightmap) und dynamische beim Rendern berechnet werden.

Shader sind kleine Programme, die das tranformieren der Vertices und zeichnen der Pixel übernehmen. Die gibt es von Version 1.1 (wenig features) bis Version 3.0 (viele Features). Man kann Shader in Assembler oder auch in speziellen Sprachen programmieren (z.B. HLSL von Microsoft). Ich hab mal in einem Buch ein Artikel über Graßrendern gelesen, der von einem PB war und der Shader war in HLSL geschrieben.

Ich kenne zwar keine technischen hintergründe von Displacement Mapping, doch denke, das Displacement Mapping mehr dreidimensional sind, mit Normals Maps werden jedoch nur der Lichteinfall genauer gezeichnet.

In Bumpmaps wird wie in einer Highmap in Graustufen die Höhe der z.B. Backsteinmauer gespeichert um dann den Lichteinfall zu Berechnen. Meistens werden sie doch in Normal Maps umgerechnet (Bump Maps= grau; Normalmaps=bunt). In Normalmaps ist jeder Pixel ein Normalvektor.

In Environment Maps wird die Umgebung gespeichert, und nachher z.B. Wasserreflexionen zu Berechenen.
FredK is offline    
Old 18.11.2005, 15:34 Profil Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #10
Jodob
Sysiphos 
 
Jodob's Avatar
 
Join Date: Apr 2005
Posts: 7,188
Männlich
 
@ J.P.
ich rede ja nicht von mir selbst ( mein system is aber ma sowas von über ner geforce 3^^)
ich meinte das eher generell... aber zur cpu... die cpu is meistens besser als die grafikkarte... und 3 ghz braucht man für die optimalen einstellungen... dann brauchste aber auch ne 7800 GTX 512 im SLI modus... also wenn es mit ner geforce 3 läuft dann werden die andren komponenten entprechend sein.... also was weiß ich vllt 1,6 ghz bei ner geforce 3

__________________
Jodob is offline    
Old 18.11.2005, 15:36 Profil Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #11
Buddler
Ritter
 
Buddler's Avatar
 
Join Date: Dec 2004
Posts: 1,607
Männlich
 
Quote:
Originally Posted by Jodob
sehr gute zusammenfassung von begriffen... respekt...
also was ich zu shader modell 3.0 sagen kann ist folgendes:

es ist ein feature das zur zeit nur nvidia karten ab der 6er reihe unterstützen
(die X1800 von ATI wird es auch können aber zu ner 6600 gt is da ein winziger preisunterschied^^)
es ist in der tat eine sammlung von effekten wie z.b. hdr ( High Dynamic Range), also ein beleuchtungseffekt, der das überblenden von objekten darstellt wenn sich die sonne hinter ihnen befindet. bestes beispiel ist zur zeit half-lie 2 lost coast, dort wird dieser effekt eingesetzt um das blenden zu simmulieren das eintritt, wenn man von einem dunklen in einen hellen raum kommt. bei nfs most wanted gibt es auch diesen effekt.
ein weiteres feature vom shader modell 3.0 ist das schon genannte normal mapping... (zumindest kann man normal maps nicht mit direct x8 oder shader modell 2.1 erzeugen)
Sicher kann man sowas auch mit Shader modell 2.1 erzeugen , Shader 2 hat die selben Effekte wie Shader 3 ,allerdings ist das etwas umständlicher .
NFS Most Wanted oder HL2 Lost Coast verwenden auch HDR und das funzt auch mit Shader 2 karten , genauso wie Doom3 Normal Maps verwendet und die gehn ebenfalls damit

__________________
Buddler is offline    
Old 18.11.2005, 15:42 Profil Homepage Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #12
Sowilo
Halbgott
 
Sowilo's Avatar
 
Join Date: Apr 2004
Location: Bremen
Posts: 9,306
Männlich
 
edit. erstmal willkommen im Forum!
Quote:
Der unterschied zwischen dynamischen und statischen Schatten ist einfach, das die statischen vorberechnet sind (z.B. Lightmap)
Lightmap sagt mir jetzt auch nichts. Heißt das, dass die Schatten tatsächlich in dei Texturen reingezeichnet sind oder dass einfach nicht überprüft wird, ob der Schatten anders fallen müsste?

Quote:
In Bumpmaps wird wie in einer Highmap in Graustufen die Höhe der z.B. Backsteinmauer gespeichert um dann den Lichteinfall zu Berechnen. Meistens werden sie doch in Normal Maps umgerechnet (Bump Maps= grau; Normalmaps=bunt). In Normalmaps ist jeder Pixel ein Normalvektor.
Also in Bumpmaps steckt nur die imaginäre Höhe der Pixel drin und die Reflektion muss noch berechnet werden (Textur ist grau) und in Normalmaps (bunt) steckt schon der Ausfallwinkel drinnen?

Quote:
In Environment Maps wird die Umgebung gespeichert, und nachher z.B. Wasserreflexionen zu Berechenen.
Dumme Frage von mir als Laie, ist die Umgebung nicht sowieso schon da oO?

__________________
Sowilo is offline    
Old 18.11.2005, 15:47 Profil Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #13
Buddler
Ritter
 
Buddler's Avatar
 
Join Date: Dec 2004
Posts: 1,607
Männlich
 
soweit ich weiß wird ne Environment Map von der Umgebung erstellt und in nem Bild alle richtungen abgespeichert und das wird dann vom Wasser gespiegelt (so is es zumindest bei bf2)

__________________
Buddler is offline    
Old 18.11.2005, 15:49 Profil Homepage Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #14
Sowilo
Halbgott
 
Sowilo's Avatar
 
Join Date: Apr 2004
Location: Bremen
Posts: 9,306
Männlich
 
Wird die also andauernd erneuert, auch z.B. in BF2 mit Spielern und Explosionen drauf?

__________________
Sowilo is offline    
Old 18.11.2005, 15:51 Profil Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #15
FredK
Lehrling
 
Join Date: Nov 2005
Posts: 11
 
Also soweit ich Lightmaps verstanden habe, ist es so, das das Lich sowie die Schatten vorberechnet werden und als zweite TextureStage darübergemappt werden.

Bei NormalMaps steckt der Normalvektor als Farbcode drinne.
\ |
\ |
\|
-----
Links ist der einfallswinkel
In der Mitte der Normalvektor
Dann wird mit dem Punktprodukt der Winkel berechnet und der Pixel danach koloriert.

Environmentmap: Die Umgebung wird als 2D-Bild in den Backbuffer und Z-Buffer geschrieben. Von dort kann man sie nicht abrufen, deswegen rendert man die Umgebung von einem Punkt in 'ne Normalmap um dann die Spiegelung zu berechenen.
FredK is offline    
Old 18.11.2005, 15:53 Profil Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #16
Buddler
Ritter
 
Buddler's Avatar
 
Join Date: Dec 2004
Posts: 1,607
Männlich
 
Quote:
Originally Posted by Sowilo
Wird die also andauernd erneuert, auch z.B. in BF2 mit Spielern und Explosionen drauf?
Also in Bf2 spiegelt das Wasser nicht in echtzeit , spiegelt halt nur die Umgebung der Envmap.

Hier die Envmap von Wake Island , so sieht ne Envmap in Bf2 aus
http://img117.imageshack.us/img117/8666/envm2zd.jpg

__________________
Buddler is offline    
Old 18.11.2005, 15:59 Profil Homepage Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #17
Sowilo
Halbgott
 
Sowilo's Avatar
 
Join Date: Apr 2004
Location: Bremen
Posts: 9,306
Männlich
 
Quote:
Also soweit ich Lightmaps verstanden habe, ist es so, das das Lich sowie die Schatten vorberechnet werden und als zweite TextureStage darübergemappt werden.
Wenn ich als Spieler über einen solchen Schatten laufe werde ich also nicht dunkler?
Quote:
Environmentmap: Die Umgebung wird als 2D-Bild in den Backbuffer und Z-Buffer geschrieben. Von dort kann man sie nicht abrufen, deswegen rendert man die Umgebung von einem Punkt in 'ne Normalmap um dann die Spiegelung zu berechenen.
Quasi wird das, was gespiegelt werden soll zu einen Bild zusammengesetzt und anhand dieses Bildes wird dann die Spiegelung auf dem Objekt berechnet?
Quote:
Also in Bf2 spiegelt das Wasser nicht in echtzeit , spiegelt halt nur die Umgebung der Envmap.
Spieler und Helikopter werden dann nicht gespiegelt? Nur statische Dinge wie Inseln und Häuser?
Sowilo is offline    
Old 18.11.2005, 16:01 Profil Homepage Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #18
Örk
Veteran
 
Örk's Avatar
 
Join Date: Aug 2004
Location: Berlin
Posts: 674
Männlich
 
Schon mal ne gute Zusammenfassung der künftigen Effekte.
Von einigen wusst ich gar nicht (Blur).

Displacement Mapping
Wie du schon richtig erkannt hast, werden so genannte Height Maps (Texturen bestehend aus Grautönen) erstellt, um Höheninformationen zu speichern.
Die Fläche selbst ist anfangs eben, doch nach beim Rendern werden die Höhen der Pixel tatsächlich verändert.
Deshalb wirkt sich dieses Verfahren auch auf das Polygon selbst aus.

Normal Mapping bezeichnet, wie du ebenfalls richtig erkannt hast, die Simulation von Dreidimensionslität durch das Einsetzen von Reflexionseffekten an den entsprechenden Stellen.
Hier wird eine Textur mit den Reflexionsinformationen gespeichert (bei diesem Bild oben rechts).
Bump Mapping ist der Vorgänger dieses Verfahrens.
Im Gegensatz zum Displacement Mapping sieht man hier aber eine plane Oberfläche, wenn man das Polygon von einem spitzen Winkel betrachtet - beim Displacement Mapping wird die Struktur ja real erstellt.
Gute Beispiele sind Doom 3 und Halo für Normal bzw. Bump Mapping und die Unreal Engine 3 für Displacement Mapping.

Shader Model 3.0 ist eine Sammlung von Instruktionen zur Erstellung von grafischen Effekten.

Multi- und Hyperthreading bezeichnen das gleiche Verfahren, nämlich das virtuelle Aufteilen von Prozessen zur parallelen Abarbeitung.
Hyperthreading ist von Multithreading abgeleitet und Intels Bezeichnung für die Implementierung der Technologie in die Pentium 4 Prozessoren.

Meinst du Double-Sided Ram oder Dual-Port-Ram?
Ersteres bezeichnet den RAM, der von zwei Seiten mit Speicherchips bestückt ist - Single-Sided RAM dagegen nur von einer Seite.
Der Unterschied der beiden liegt in der Größe der verbauten Speicherchips, da ja der Dual-Sided insgesamt mehr Plätze zur Verfügung hat (ein 512 MB Double-Sided RAM ist dann mit Speicherchips mit einer Größe von 512/(2*8) = 32MB ausgestattet, während ein Single-Sided RAM Speicherchips mit einer Größe von 512/(1*8) = 64 MB besitzt (immer 8 Speicherchips auf einer Seite)).
Das Problem dabei ist nur, dass einige Prozessoren nicht mit dem Double-Sided RAM klarkommen.
Die Folge sind Abstürze bzw. startet der PC gar nicht erst.
Wenn du letzteres meinst, da hab ich keine Ahnung - ich weiß nur, dass dort von zwei Seiten gleichzeitig gelesen werden kann (bei getrennt operierenden Systemen).

__________________
Zurück zur Natur! - nur nicht zu Fuß...


Aktuell: Kapitel: 1 (säubert Orkring) | Stufe: 21
STR: 30 (STR-Amulett +10 | DEX: 84 (DEX-Ring +5)
Waffen: Meisterdegen / Eschenbogen

Last edited by Örk; 18.11.2005 at 16:05.
Örk is offline    
Old 18.11.2005, 16:08 Profil Homepage Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #19
Sowilo
Halbgott
 
Sowilo's Avatar
 
Join Date: Apr 2004
Location: Bremen
Posts: 9,306
Männlich
 
- Habe wegen Lightmaps was gefunden. Für mich sieht das so aus, als ob man vordefiniert, welche Flächen wie weit erhellt werden. Und eine Spielerfigur würd enicht darunter fallen?

- @Örk
Danke für die detailierte Erklärung. Vorallem dass Multi-und Hyperthreading das gleiche sind.

Wegen des Rams, habe keine Ahnung was ich meine, ich kenne nur das wort Dual Ram^^.

Also bumpmapping von der Seite betrachtet wirkt flach.
Displacement Mapping von der Seite betrachten ist dreidimensional.
Und wie sieht es mit normal maps aus?
edit: auch 3d, oder?
Aber was macht das displacement mapping für nen Sinn? Ich denke normal mapping wird doch schon sehr hardwaresparend sein und es sieht 3d aus, warum dei Oberfläche dann noch in echt in 3d transformieren?

__________________

Last edited by Sowilo; 18.11.2005 at 16:12.
Sowilo is offline    
Old 18.11.2005, 16:15 Profil Beiträge suchen Zur Buddyliste hinzufügen Reply With Quote   #20
Buddler
Ritter
 
Buddler's Avatar
 
Join Date: Dec 2004
Posts: 1,607
Männlich
 
Normal maps von der Seite sind nicht 3d

__________________
Buddler is offline    
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 02:32.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.