PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SwiftShader-Spielereien allgemein


tombman
2005-12-22, 13:00:41
Kann man das nicht mit irgendeiner kleinen demo ausprobieren? Ich denke, die Leute wollen einfach nicht ihr uraltes MP ausgraben und extra installieren deswegen...

€dit by Raff: Ursprungs-Thread: http://www.forum-3dcenter.org/vbulletin/showthread.php?t=267787

tombman
2005-12-22, 13:20:58
buuuh, kann ja nicht mal dual cpu ausnutzen... ansonsten würde dolphinvs in 1024 flüssig rennen ;)

BlackBirdSR
2005-12-22, 14:26:10
Comanche 4 kannst du damit vergessen.
grafikfehler und unter 1fps

Raff
2005-12-22, 14:28:16
Comanche 4 kannst du damit vergessen.
grafikfehler und unter 1fps

Ohje. Und das ist das erste Spiel, das primitives PS1.1 nutzt. Na mal schauen, was noch so geht. AquaNox vielleicht?

MfG,
Raff

Mr. Lolman
2005-12-22, 16:20:53
Auch schon mit ner V5 getestet?

Raff
2005-12-22, 16:28:10
Auch schon mit ner V5 getestet?

Gerade um die Grafikkarte geht's ja nicht. :D Das Tolle am SwiftShader ist, dass die CPU damit auch herumschattieren kann. Inklusive Texturfilterung und aller Späße.

MfG,
Raff

Mr. Lolman
2005-12-22, 16:39:10
Aber duz wär ja allez noch viel kewler, wenn Swiftshader ein Aufsatz für shaderlose Grakas wär... ;(

Raff
2005-12-22, 17:18:15
Jo, das wäre der Hammer. Aber das wird's wohl nicht geben ... müsste der Treiber machen.

Und ich überlege, das hier in einen extra Thread zu dem Spaß allgemein zu splitten ...

MfG,
Raff

Raff
2005-12-22, 20:29:06
So, ich hab's mal rausgesplittet. Nehmen wir dieses Topic zum Herumprobieren, welche Anwendung wie rennt.

Ich hab' soeben den 3DEuro2001SE ausprobiert – klappt, sogar Nature ist fehlerfrei! Ich hab' noch nie Software-Pixelshading gesehen, ihr etwa? Dazu kommt jetzt noch ein Thread ... und wehe, es macht da auch keiner mit. :tongue:

€dit:
http://img417.imageshack.us/img417/6540/640x32ss0mk.jpg (http://imageshack.us)

Und das mit einer High-End-CPU ...

MfG,
Raff

Neomi
2005-12-22, 21:50:45
Ich hab' noch nie Software-Pixelshading gesehen, ihr etwa?

Aber sicher doch. Software-Pixelshading war lange vor Fixed Function in Hardware da, wenn man es genau nimmt. :D

Coda
2005-12-22, 22:02:25
Ich hab' noch nie Software-Pixelshading gesehen, ihr etwaJo. Den DX9 Reference Rasterizer :tongue:

Coda
2005-12-22, 22:03:39
Jo, das wäre der Hammer. Aber das wird's wohl nicht geben ... müsste der Treiber machen.Das geht auch nicht wenn es der Treiber macht.

tokugawa
2005-12-22, 22:06:21
Ich hab' noch nie Software-Pixelshading gesehen, ihr etwa? Dazu kommt jetzt noch ein Thread ... und wehe, es macht da auch keiner mit. :tongue:


"Software-Pixelshading" macht jeder Software-Renderer :)

Raff
2005-12-22, 22:09:55
Das geht auch nicht wenn es der Treiber macht.

Keine Möglichkeit, die Shader-Arbeit zwischendurch die CPU machen zu lassen (geht beim Vertexen ja auch), Texturierung etc. die Grafikkarte? Warum?

"Software-Pixelshading" macht jeder Software-Renderer :)

Ajo, ich meine eben die schönen Effekte, die man seit DX8 in Spielen sieht bzw. sehen sollte. ;)

MfG,
Raff

Coda
2005-12-22, 22:14:01
Keine Möglichkeit, die Shader-Arbeit zwischendurch die CPU machen zu lassen (geht beim Vertexen ja auch), Texturierung etc. die Grafikkarte? Warum?Nein. Wie stellst du dir das vor? (Readbacks sind schweineteuer und führen zu nem kompletten Stall der Grafikpipeline)

Es gab von Nick übrigens schon vor 4 Jahren oder so ein IOTD auf Flipcode zu swshader (so hieß das Ding am Anfang)

Demirug
2005-12-22, 22:16:14
Keine Möglichkeit, die Shader-Arbeit zwischendurch die CPU machen zu lassen (geht beim Vertexen ja auch), Texturierung etc. die Grafikkarte? Warum?

Das Problem ist das Zusammenführen der Daten vom Grafikchip und der CPU. Vorallem der Z-Buffer macht da große Probleme.

Raff
2005-12-22, 22:16:20
Dass das schweinelahm wird, ist klar. Aber gehen sollte es.

Stellt sich nur die Frage, ob pures SW-Rendering (wie hier) dann nicht schon genauso "schnell" ist ...

MfG,
Raff

Coda
2005-12-22, 22:17:29
Es würde schneller sein.

Raff
2005-12-22, 22:22:15
Was? Software pur oder HW + SW? ;)

MfG,
Raff

Demirug
2005-12-22, 22:22:52
Es würde schneller sein.

Nicht zwingend. Ich habe da gerade selbst etwas sehr bösses in dieser Richtung gemacht und dadurch ein DX6.1 Spiel von 8FPS auf 80FPS gebracht.

Coda
2005-12-22, 22:24:06
Wenn die Sache generell benützbar bleiben soll wohl schon.

MadManniMan
2005-12-22, 23:46:32
Ich hab' noch nie Software-Pixelshading gesehen, ihr etwa?

Dungeon Keeper gezockt? Symbiose innen Käfer oder ne Fliege?

Demirug
2005-12-23, 07:06:59
Wenn die Sache generell benützbar bleiben soll wohl schon.

"Pixelinjection" (so nenne ich die Technik) funktioniert eigentlich recht gut und ist auch allgemein nutzbar. Ich habe aber nicht die Limitis ausgetestet weil ich bisher nur eine recht geringe Anzahl von Pixel in die 3D Pipeline einschleußen musste. Wahrscheinlich könnte man das ganze sogar noch verbessern.

Raff
2005-12-23, 08:22:50
Dungeon Keeper gezockt? Symbiose innen Käfer oder ne Fliege?

Hmm ... Teil 2. Sagt mir aber nichts.

MfG,
Raff

Mr. Lolman
2005-12-23, 11:03:09
Nicht zwingend. Ich habe da gerade selbst etwas sehr bösses in dieser Richtung gemacht und dadurch ein DX6.1 Spiel von 8FPS auf 80FPS gebracht.


Klingt interessant. Sagmal....

Demirug
2005-12-23, 11:33:27
Klingt interessant. Sagmal....

Ich werde wahrscheinlich für SimHQ zusammen mit jemand anderem eine Ertikel zu der ganzen Sache schreibe.

tokugawa
2005-12-23, 14:02:03
"Pixelinjection" (so nenne ich die Technik) funktioniert eigentlich recht gut und ist auch allgemein nutzbar. Ich habe aber nicht die Limitis ausgetestet weil ich bisher nur eine recht geringe Anzahl von Pixel in die 3D Pipeline einschleußen musste. Wahrscheinlich könnte man das ganze sogar noch verbessern.

Das klingt irgendwie so ähnlich wie Occlusion Query...

Demirug
2005-12-23, 14:20:11
Das klingt irgendwie so ähnlich wie Occlusion Query...

Nein, es geht ja gerade darum den Rückkanal dabei auszuschalten.

Coda
2005-12-23, 14:26:50
"Pixelinjection" (so nenne ich die Technik) funktioniert eigentlich recht gut und ist auch allgemein nutzbar. Ich habe aber nicht die Limitis ausgetestet weil ich bisher nur eine recht geringe Anzahl von Pixel in die 3D Pipeline einschleußen musste. Wahrscheinlich könnte man das ganze sogar noch verbessern.Du renderst die Dreiecke die das nötig haben dann aber schon komplett in Software? Anders kann ich mir das gerade nicht vorstellen.

Demirug
2005-12-23, 14:37:08
Du renderst die Dreiecke die das nötig haben dann aber schon komplett in Software? Anders kann ich mir das gerade nicht vorstellen.

Ich bekomme in dem Fall die "gerenderten" Pixel schon von der Software und muss sie in die 3D Pipeline einspeisen.

Um es genauer zu bschreiben. Das Spiel rendert selbst direkt in den Backbuffer. Dummerweise macht es dafür teilweise für jeden Pixel einen Lock/Unlock. Was ich nun gemacht habe ist dem Spiel einen "Backbuffer" im RAM vorgesetz und falls dieser angefordert wurde beim nächsten DrawCall alle Pixel die in der Zwischenzeit in diesen geschrieben wurden als Pixelliste an die GPU übergeben. Das ganze ist aber nur ein Teil einer weitaus komplexeren Gesamt operation die noch nicht abgeschlossen ist.

Man kann auf diese Weise aber jede Form von Software und Hardware rendering mischen.

Coda
2005-12-23, 14:38:32
Dummerweise macht es dafür teilweise für jeden Pixel einen Lock/Unlock.WTF!!!! Jeden Pixel einzeln schreiben ist ja schon böse, aber das :|

Das ist aber wohl doch nicht so der generelle Fall ;)

Demirug
2005-12-23, 14:45:17
WTF!!!! Jeden Pixel einzeln schreiben ist ja schon böse, aber das :|

Da gibt es noch viel lustigere Sachen.

Das ist aber wohl doch nicht so der generelle Fall ;)

Der Anwendungsfall sicherlich nicht aber die Methode ist universell einsetzbar.

MadManniMan
2005-12-23, 17:22:16
Hmm ... Teil 2. Sagt mir aber nichts.

MfG,
Raff

Solange man beim ersten Teil auf D3D verzichtet hat, gabs schöne Verzerrungseffekte. Man sah bei der Fliege alles durch ein Wabennetz, der Käfer hatte einen extremen Milchglaseffekt etc. pp =)

Mr. Lolman
2005-12-23, 17:50:05
Quake1 hatte auch Pixelshading - unter Wasser.

Neomi
2005-12-23, 19:29:09
Quake1 hatte auch Pixelshading - unter Wasser.

Das klingt so, als würdest du den Rest nicht als Pixelshading anerkennen. ALLES, was eine Pixelfarbe berechnet, ist Pixelshading. Seit Direct3D 8 bzw. den passenden OpenGL-Extensions gibt es programmierbare Pixelshader in Hardware, davor war es eben nicht frei programmierbar (Fixed Function) oder nicht in Hardware. Shader sind keine Effekte.

Coda
2005-12-23, 19:58:58
Ja großer Schwachsinn bei Software-Rasterizern von "Pixelshading" zu reden.

MeLLe
2005-12-24, 10:11:10
Ja großer Schwachsinn bei Software-Rasterizern von "Pixelshading" zu reden.
Warum? Ob nun dedizierte Hardware oder ein Software-Rasterizer die Farbe eines Pixels aus diversem Input bestimmt, ist doch völlig Wurst. Daher bin ich eher der Ansicht, dass beide - sowohl Hard- als auch Software-Rasterizer - im Endeffekt Pixelshading betreiben.
Auch Vertexshading bleibt Vertexshading, sogar wenn's auf der CPU ausgeführt wird...

Frohe Weihnachten!!!

stav0815
2005-12-24, 12:06:00
Warum? Ob nun dedizierte Hardware oder ein Software-Rasterizer die Farbe eines Pixels aus diversem Input bestimmt, ist doch völlig Wurst. Daher bin ich eher der Ansicht, dass beide - sowohl Hard- als auch Software-Rasterizer - im Endeffekt Pixelshading betreiben.
Auch Vertexshading bleibt Vertexshading, sogar wenn's auf der CPU ausgeführt wird...

Frohe Weihnachten!!!
Das wäre ja sonst wie wenn man einen Tinenstrahldrucker mit einem Lasersdruker vergleicht:
Der tintenstrahldrucker ist kein Drucker, weil er ned so schnell/gut ist wie der Laserdrucker, aber im Endeffekt das gleiche macht.

tokugawa
2005-12-24, 15:36:03
Quake1 hatte auch Pixelshading - unter Wasser.

Quake1 hatte überall Pixelshading, wie jeder Renderer...

Ja großer Schwachsinn bei Software-Rasterizern von "Pixelshading" zu reden.

Shading = Schattierung.
Pixel = wissen wir eh alle.

Der Terminus "Pixelshading" ist daher bei Software-Rasterizern genauso benutzbar.

wzzw


Bloß weil Marketing-Leute den Terminus auf ihre bunten Packungen schreiben als wäre es die neueste Erfindung schlechthin, müssen wir Begriffe nicht ändern.

Die "Shader" die gemeint sind sollten korrekterweise "programmierbare Hardware-Shader" oder so heißen.

"Pixelshading" an sich gibt's in jedem Renderer, auch in Software.



Leute, wir kennen uns aus. Lasst uns also bitte auch korrekte Begrifflichkeiten benutzen statt Marketing-Blubb.

MadManniMan
2005-12-24, 23:50:08
Man kann natürlich darauf pochen, daß einzelne Begriffe gewisse Zusammenhänge differenzierter beschreiben, als es auf den ersten Blick scheint, aber mei ... jeder hier meint mit "Pixelshading" jene Effekte, die über Multitexturing, Garaudshading und Stencilschatten hinaus gehen - ich springe also für die Idiotie in die Bresche. :D

Achja: Frohe Weihnachten!

Raff
2005-12-24, 23:51:52
Genau, denn so war's auch gemeint, Manni. :D

MfG,
Raff

P.S: Dir auch. :)

tokugawa
2005-12-26, 22:58:55
Man kann natürlich darauf pochen, daß einzelne Begriffe gewisse Zusammenhänge differenzierter beschreiben, als es auf den ersten Blick scheint, aber mei ... jeder hier meint mit "Pixelshading" jene Effekte, die über Multitexturing, Garaudshading und Stencilschatten hinaus gehen - ich springe also für die Idiotie in die Bresche. :D


Nochmals, selbst wenn man mit "Pixelshading" die programmierabren Hardware-Shader meint, es sind _keine_ Effekte per se!

Außerdem kann man mit diesen Hardware-Shadern genauso Multitexturing und Gouraud-Shading programmieren. Stencil-Schatten sind eine gänzlich andere Klasse von Effekten.

Was ich mir einreden lassen könnte, wäre wenn man das was du meinst (komplexe Effekte) eben auch so bennent: "Komplexe Per-Pixel Effekte" oder "Komplexe Illumination".

Alles andere verwischt nur alles ins unglaublich ungenaue (oder gar falsche), was fast Marketing-Blubb-Qualität hat.

Shader sind per se keine Effekte - erst mit programmierbarem Hardware-Shading lassen sich komplexere Effekte in Hardware machen (wenn man will). In Software-Renderern geht's sowieso immer (da ist ja die Per Pixel Berechnung einfach austauschbar).

Aber wenn's nur um die Effekte geht: das könnte ja ein Software-Renderer genauso (halt langsamer)! Also der Begriff als "jene Effekte, die über X hinausgehen" ist unpassend, da ein Software-Renderer diese Effekte ja auch darstellen könnte.


Es bleibt ganz einfach letzten Endes nichts anderes übrig als genau das zu sagen, was man meint, Leute.


Also nochmal übersichtlich:

Falls man meint, dass man mit "Pixelshading" jene komplexen Effekte meint, die über Gouraud-Shading usw. hinausgehen: dann gibt es das Argument, dass das ja dann auch für Software-Renderer zutrifft. Die können diese Effekte ja auch genauso darstellen, nur langsamer ("Performance" ist im Pixel Shader Begriff überhaupt nicht enthalten. Ein Shader ist immer noch ein Shader wenn er langsam ist). Sicher nicht das was die Leute die diesen Begriff so verfälscht verwendet, wirklich meinen. Folglich bleibt ganz einfach nur mehr übrig, dass man die Sachen genauso benennt wie es sein sollte.

MadManniMan
2005-12-27, 00:29:28
Ich verstehe Dich ja - und ich weiß ja auch, daß es im Grunde falsch ist. Jedoch ist es für mein persönliches Empfinden einerseits nicht gravierend genug, sich deswegen den Kopf zu zerbrechen, andererseits ist es aber auch bereits Jargon, derartig mit jenem Vokabular umzugehen ... um Himmels Willen, ich will Dir nix Bös - aber faß es auch nich als Provokation auf, wenn ichs derart benütz! Peace? ;)