Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Conditionals im Cg-Shader

  Alt 18. Mai 2010, 03:17
Zitat von blackfin:
Ahhh, ich wusste doch, dass DU mich selbst in der Nacht nicht im Stich lässt
Bedank dich bei meinem alltagsuntauglichen Rythmus

Zitat:
So funktionieren wohl auch Mental Mill und co., hm?
Um das zu beantworten, müsste ich's kennen

Zitat:
Nur...wie macht man es dann am Besten mit der Parameter-Übergabe. Die bleibt ja im Hauptprogramm und wenn das auch dynamisch sein sollte, welche Parameter im Hauptprogramm an den Schattierer übergeben werden, kann das doch ziemlich langsam werden, oder liege ich da falsch?
Och, auffer CPU ist das doch Pusselkrams. Wenn du jetzt nicht gerade ein paar tausend Parameter zu prüfen hast - aber dann wäre eh etwas faul, oder du machst GPGPU =). Ab DX10 kann man auch statt der gewöhnlichen Parameter Streams binden, und das ist in no-time gemacht. Zudem könntest du dann einen fixen Stream nehmen in dem alles ist, und der Shader pickt sich raus was er will. Gearbeitet hab ich damit aber leider auch noch nicht, da ich aus diversen Gründen auf DX9 fest hänge - zumindest in dem Projekt, in dem es interessant gewesen wäre. Aber eine Hand voll if's und cases werden dir im Draw nicht das Genick brechen. Nicht auffer CPU.
(Man könnte auch eine Textur missbrauchen, und in diese sämtliche Parameter werfen, und mit indizierten Lookups sind die im Shader super-flott verfügbar. Wenn diese nur so 16x16 Pixel groß ist, tut das ständige Locken auch nicht SO arg weh. Müsste man einfach mal ausprobieren.)

Zitat:
Whut?
Irgendwie ging es dabei darum, dass man seine Kondition so ausdrückt, dass dabei 0 oder 1 gelerpt wird, und die relevanten Schritte danach bei 0 einfach nix verändern. Wie gesagt, das geht wohl nicht immer, und man muss es darauf auslegen. Zudem spart das wohl nicht das zwangsweise Ausführen beider "Branches", aber ich meine man kommt damit der Pipeline etwas entgegen. Aber nagel mich hier auf nix fest, das sind Infos, die mein Hirn aus Fetzen nebenbei gelesener Forenbeiträge auf gamedev geformt hat. Auf jeden Fall war da was. *hust*

Zitat:
Wegen "Branching = nono"...
Stimmt, da tat sich was. Jetzt wo du's so sagst... Da bin ich grad garnicht mehr auf'm Stand, ob und wie gut das mittlerweile hin haut.

Zitat:
Aber im Allgemeinen stimmt das ja schon...irgendwie wie in der Steinzeit...aber das macht irgendwie auch Spass
Jap . Hat ein bischen was vom guten alten Pioniergeist der 60er, den ich als kleiner Bub gehofft hatte erhaschen zu können wenn ich mal groß bin - und dann kommen die mit so high-level-gelöt wie IDEs und Standardsoftware... . Hat aber auch was, vor allem in der Theorie, aber am offenen Herzen fummeln kann eigentlich nichts wirklich ersetzen. Ganze Treiber mit Shadern in's Nirvana jagen - schöner Sport
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat