PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grundlagenfragen


Benja
2003-10-27, 20:20:52
Hallo

Ich habe einige Fragen:

1.
Bevor die GPU anfangen kann aus irgendwelchen Vertices Dreiecke zu erstellen muß sie ja überhaupt erstmal wissen was für Ausgangspunkte sie hat.
Wo kriegt sie diese Informationen her ?
Ich vermute: CPU
Bekommt sie die Informationen alle auf einmal oder Zeilenweise oder Objektweise oder oder oder ... ?

2.
In diesem (http://www.within3d.net/index.php?show=articles&type=showarticle&id=1&page=1) älteren Bericht steht, daß Lighting noch vorwiegend über Lightmapping gemacht wird. Das stimmt heute nichtmehr, oder ?

3.
Wenn dann alle Objekte erstellt worden sind und die Daten sich anschicken die Renderingpipeline zu erreichen könnte - dann habe ich eine ARt Drahtgittermodell der Szene vorliegen ?

Wenn jemand diese Fragen kurz beantworten könnte wäre das super. Lange Antworten nehme ich auch ;)

Thx schonmal.

Gruß,
Benja

liquid
2003-10-27, 20:29:09
1. Fragestellung ist mir etwas unklar. Die GPU bekommt Vertexdaten geliefert. Davor bekommt sie natürlich noch den "Bauplan", wie sie die Vertices zusammenkloppen soll. Also zB Dreiecke, Vierecke, Polygone, Dreieckstrips, Dreieckfans, etc.

2. Für statische Beleuchtung ist Lightmapping nach wie vor geeignet. Aber dank der steigenden "pixel shader" (der Terminus fragment shader ist mir persönlich lieber) Leistung der modernen GraKas ist es nun möglich selbst größere Szenen schnell dynamisch zu beleuchten.
Allerdings sind Verfahren wie Radiosity immer noch am besten offline zu berechnen. Die Daten packt man dann nachher in entsprechende Lightmaps. Problem: alles statisch

3. Verstehe ich net bzw. Frage nicht eindeutig/konkret genug gestellt

cya
liquid

Benja
2003-10-27, 20:38:41
zu 1.
die GPU bekommt also von der CPU alle Daten geliefert aus denen sie dann (vereinfacht gesprochen) ihre Dreiecke berechnet ?

zu 3. (2. Versuch ie Frage zu stellen):
Die Geometrieeinheiten haben ihre Arbeit getan. Nun sollen die erzeugten Objekte mit Texturen usw überzogen werden.
Also quasi zeitlich VOR dem Pixel-Shader.
Wenn man dort die Daten ohne Änderung durchschleusen würde, dann Z-Buffer auswerten usw - hätte man dann ein Drahtgittermodell der Szene ?

Demirug
2003-10-27, 21:07:50
Ich fürchte du bringst da ein bischen was durcheinader.

Zum Einstieg ist das vielleicht nicht schlecht: http://www.extremetech.com/article2/0,3973,9722,00.asp

Noch kurz zu deinen Fragen:

1. Die GPU kann sich ihere Vertexdaten sowohl aus dem AGP-Speicher wie auch aus dem eigenen lokalen Speicher holen. Die CPU sagt dem Chip nur wo er die Daten findet und was er damit tun soll.

3. Wenn die Gemotrie Einheiten (Vertexshader, Primitive prozessor und zum Teil das Tri-Setup) fertig sind dann hast du in den Framebuffer (Farbe, Z und Stencil) noch nichts. Daten werden immer erst am Ende der Pipeline in den Framebuffer geschrieben.

Benja
2003-10-27, 21:25:35
zu 3.

Wenn ich aber alles was nach den Geometrie-Einheiten noch kommt durch "nop" oderso ersetze (also NICHTS tue, einfach durchschicken) - das meine ich ...
Und dann halt die Auswertung z-Buffer machen, in den Framebuffer schicken.

thx für den Link.