Sollte laut Doku mittels optionalem shader_profile/target möglich sein. Sollte. Nur kriegt man z.B. für sowas: cbuffer SomeBuffer : register( ps, b0 ) : register( vs, b1 ) { // whatever }; dann diese Fehlermeldung: error X3515: User defined constant buffer slots cannot be target specific Gurgelt man...
Keine Ursache. Und Danke für die Klarstellung ich hatte das tatsächlich falsch rum in Erinnerung. Den Ausdruck den ich suchte heisst übrigens "constant waterfalling" ( Structured Buffers vs. Constant Buffers ). Man muss die Ausdrücke kennen um sinnvoll gurgeln zu können ;) Edit : Das mit d...
Hab beim experimentieren festgestellt, dass StructuredBuffers und VTF ok sind. Vermutlich gar nicht mal so schlecht für World-Transformationen. Bei constant buffers ist die Idee, dass der Shader auf ALLE Daten möglichst schnellen zugriff hat (weiss grad nicht mehr den genauen GPU-Term, aber sowas wi...
Ich vermute mal das Problem rührt daher, dass Du zuerst über 8 bit gehst. Mit der 0.5*n+0.5 Kodierung kann man die 0 nicht exakt darstellen: 0.5 * 0 + 0.5 = 0.5, -> *255 = 127.5, also 127 oder 128 nach rundern, ergo 0.5 daneben. Recht viel. Volle float-Texture oder diese ^4 Kodierung verstecken das ...
Also bei D3DFMT_A16B16G16R16F müsste man meiner Meinung nach nicht einmal umcodieren, das ist ja ein vorzeichenbehaftetes Format. Trotzdem, ich denke der Fehler liegt hier: float3 nn=normalize(nor.xyz*2-1); Erst normalisieren, dann encodieren. float3 nn=normalize(nor.xyz)*2-1; Apropos: Hier eine Zus...