PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pixel || Vertex Shader missbrauchen


jor
2002-07-04, 21:39:33
Mit Pixel und Vertexshadern hab ich es nicht so, deshalb meine Frage kannman Pixel- oder Vertexshader für Berechnungen in einer Szene missbrauchen?

Also wenn ich z.B. die Lage bestimmter Punkte zum View Frustum oder Normalen berechnen will. Mir geht es darum, dass ich die Ergebnisse der Berechnungen wieder auswerten kann, nicht nur darstellen.

Ich vermute mal das geht nicht, aber wenn doch dann belehrt mich eines besseren.

Doomtrain
2002-07-04, 23:29:42
Geht da auch noch mal auf Deutsch? Sorry, aber ich kann keinen Sinn in deiner "Frage" sehen!!

jor
2002-07-04, 23:43:09
Ich bin Programmierer, kein Deutscher ;-)

Na ich will nur wissen ob ich die superschnellen Pixel-Shader Einheiten auch zu ganz normalen Berechnungen missbrauchen kann. Es war ja neulich ein Artikel in der CT drin, aber so genau war der auch nun wieder nicht. So wie ich das verstanden habe kann man sich die Ergebnisse nur grafisch darstellen lassen.

Doomtrain
2002-07-04, 23:54:44
Für Fragen was Grafikprogramierung angeht, verweise ich dich auf Demirug, der ist Programmer!!

Einfach PM an ihn!

aths
2002-07-05, 11:15:28
Wenn man mit dem PixelShader in eine Textur rendert, kann man das Ergebnis mit einem nächsten Shader 'auswerten'.

Demirug
2002-07-05, 11:25:51
Ich hab den Blödsinn mal mit den Vertexshadern gemacht um zu testen ob das was bringt. Im Endeffekt ist das ganze nutzloss da das zurücklesen der Ergebnisse aus der Texture zu langsam ist und man mit 4*8 bit nicht wirklich viel sinnvolles anfangen kann.

Quasar
2002-07-05, 11:38:15
Könnte man mit entsprechenden Treibern und einem angepassten Client evtl. SETI@Home auf einem P10-Boards laufen lassen? *eg*

Demirug
2002-07-05, 11:46:23
Originally posted by Quasar
Könnte man mit entsprechenden Treibern und einem angepassten Client evtl. SETI@Home auf einem P10-Boards laufen lassen? *eg*

Im Prinzip ja.

Quasar
2002-07-05, 11:48:33
Könntest du beides für mich programmieren? ;)

Pitchfork
2002-07-05, 11:51:02
Originally posted by Quasar
Könnte man mit entsprechenden Treibern und einem angepassten Client evtl. SETI@Home auf einem P10-Boards laufen lassen? *eg*

Yep, wahrscheinlich schon. Es gibt Jungs (ok, eher Wissenschaftler *g*) die haben nen Raytracer auf der GF3 geschrieben. Keine Echtzeit aber trotzdem um Klassen schneller als ein P4.

Die Pixelshader sind ja nichts anderes als super-hyper parallele Prozessoren, die eine bestimmte Anzahl Operationen (8+4 bei GF3, 16+8 oder wie war das bei R8500) in einem Rutsch ausführen können. Ausgangsdaten und Zwischenergebnisse werden aus Texture geladen und Zwischenergebnisse in eine Textur geschrieben.

Die Kunst bei dieser Sache mit der GPU als General Purpose Rechenwerk ist genau ein Trick:

Die Ergebnisse der GPU Berechnungnen dürfen nicht mehr auf der CPU gebraucht werden! Weil das killt die Parallelität und somit die Performance.

Falls man Ergebnisse der GPU Berechnungen in der CPU haben will, muß man damit rechnen, daß einige Frames nach dem Start der Berechnung die Ergebnisse erst vorliegen. Und selbst dann ist die Übertragung von Texturdaten von der GPU zur CPU grottenlahm.

Zur Ursprungsfrage: Wenn die CPU das Ergebnis zum Weiterrechnen braucht, dann macht es keinen Sinn.

Pitchfork

Demirug
2002-07-05, 11:54:34
Originally posted by Quasar
Könntest du beides für mich programmieren? ;)

Sonst noch wünsche???

Aber mal im ernst.

1. Ich habe kein P10.
2. von 3dlabs gibt es IMO keine Infos über die Native Schnittstelle zum P10 und ob OpenGL 2.0 ausreicht weis ich nicht.
3. Ich habe keine Ahnung wie die @Seti Rechnungen genau aussehen. AFAIK läuft das irgendwas mit FFT ab.
4. Warum??? Spätestens ab 1.4 Ghz (bzw 1400+ bei AMD) müsste die CPU sowieso schneller sein. Oder willst du beides gleichzeitig laufen lassen???

jor
2002-07-05, 12:00:20
Soweit ich weiss gabs doch mal aus Russland eine Karte, die speziell für das Seti@home gedacht war oder?

Quasar
2002-07-05, 12:00:43
Danke euch beiden, Demirug und Pitchfork.

@Demirug:
Nein, war nur ein Scherz, aber wenn es möglich wäre, würde ich es natürlich parallel laufen lassen, da sich bei SMP-Systemen die SETi-Clients (ist nicht per se SMP-Fähig) sich die Speicherbandbreite teilen müssen und dadurch deutlich gebremst werden (bei 64Bit und 266"MHz"). Das ganze mal auf einer GPU mit 256Bit und 600"MHz" wäre schon interessant. (Allein das HW-Prefetch des AthlonXP hat knapp eine Stunde Zeit gespart, verglichen mit dem alten TBird...).

Ich weiß nicht, inwieweit sich die Vektoreinheiten auf dem P10 dafür eignen, aber wenn man mal von der reinen FPU-Leistung eines AthlonXP@1500MHz ausginge, der ohne jede Limits vom Speicher her auskommen könnte, wäre das schon grandios.

Thowe
2002-07-05, 20:52:00
Ich werde den Thread mal missbrauchen um mich darüber zu freuen das Pitchfork sich registriert hat. :)

Also, Pitchfork, ein herzliches Willkommen im Forum. :)

StefanV
2002-07-05, 21:16:52
Originally posted by Thowe
Ich werde den Thread mal missbrauchen um mich darüber zu freuen das Pitchfork sich registriert hat. :)

Also, Pitchfork, ein herzliches Willkommen im Forum. :)

Gleiches von mir.

Endlich hat sich mal ein recht wichtiges Mitglied registriert. ;)

Quasar
2002-07-05, 21:23:22
Hab ich auch zuerst gedacht....ist aber seit dem 29 April der Fall. Etwas spät für Willkommensgrüße.

Trotzdem: Nachträglich Herzlich Willkommen, Pitchfork!

Catweasel
2002-07-06, 10:45:03
Originally posted by jor
Soweit ich weiss gabs doch mal aus Russland eine Karte, die speziell für das Seti@home gedacht war oder?

Die Karte war ein nett gemachter Fake.

MfG Swen