DX ASM-Shader Variablen



  • Hallo,

    Gibt es beim DirecX Shader Compiler so etwas wie

    TEMP LichtAbstand; // Syntax aus OGL ARB Programm
    

    ???

    D.h. ich möchte nicht dauernd mit r0,...,r12 kämpfen sondern den Variablen schöne Namen verpassen, die der Linker dann den Registern zuweisen darf.
    (HLSL will ich aber nicht benutzen)

    Ich habe dazu überhaupt nichts in der Doku gefunden, aber vielleicht weiß hier ja jemand was dazu ?!


  • Mod

    ja, mit dx-effects sollte das gehen.

    rapso->greets();



  • versuchs mal mit

    #define LichtAbstand r0
    

    😉



  • rapso schrieb:

    ja, mit dx-effects sollte das gehen.

    Danke für den Tip.

    Ich hab versucht eine Effekt Datei zu schreiben die nur aus einem Shaderblock besteht (weil Effekte will ich eigentlich nicht benutzen).
    Hat leider nicht so recht geklappt. Man darf zB im Code nicht #include'ieren, und das hatte ich eigentlich vor (um aufrufbare Funktionen zu simulieren).

    dot schrieb:

    versuchs mal mit

    #define LichtAbstand r0
    

    😉

    Habe ich schon versucht, macht das ganze aber fast noch komplizierter wenn man viele Variablen hat. Es wäre schon besser wenn der Compiler die Register automatisch belegen würde.

    Also ich werde mir jetzt doch noch die HLSL anschauen.
    Problem ist halt dass ich Shader habe die ziemlich nahe der maximalen Instruktionszahl sind. Bin ja mal gespannt ob der Compiler was vernünftiges ausspuckt.

    Danke für Eure Antworten.


  • Mod

    [quote="0x00000001"]

    rapso schrieb:

    (weil Effekte will ich eigentlich nicht benutzen).

    naja, du mußt sie schon verwenden, dabei würde es ja reichen wenn du nur assembler einbaust. läuft an sich ja genau so wie dei bloßen shader, aber du _kannst_ halt noch sehr viel mehr benutzen.

    rapso->greets();



  • Ja Du hast schon recht. Problem ist nur dass ich vor ca. einem Jahr angefangen hab mein eigenens Materialsystem zu bauen, und da möchte ich jetzt eigentlich keinen Riesenumbau mehr vornehmen.

    Habe jetzt angefangen zumindest auf HLSL umzuschreiben. Das ist schon eine deutliche Erleichterung, denn jetzt werden die ganzen Copy-Paste-asm-Sauhaufen-Dateien endlich wegfallen 👍


Anmelden zum Antworten