Sono un po 'confuso in questo momento e voglio solo chiedere a tutti voi di aiutarmi a chiarire alcune idee.Visualizzazione risorse Shader DirectX in Shader
In uno shader HLSL (shader di calcolo, ad esempio), posso dichiarare uno SB StructuredBuffer, giusto? Devo associarlo a un registro, come ad esempio: registro (T0)?
Dal lato dell'applicazione, posso chiamare CSSetShaderResources (...). Il primo argomento (la StartSlot), Ha qualcosa a che fare con il piccolo numero dopo la "t" nella dichiarazione registro?
Se imposto lo StartSlot come 0 (ad esempio), e imposto il secondo argomento come 2. Sto dicendo all'API che collegherò due viste di Shader Resource, una in registro (t0) e un'altra in registro (t1)?
Se dichesto Texture2D tex [10]: register (t0) Posso impostarlo chiamando CSSetShaderResources (0, 10, ...). Questo significa che i registri (t0 ~ t9) sono tutti esauriti?
Scusate per un "fuoco rapido" come di domande, ma io sono solo molto confuso e alcuni dei miei test sembrano dare risultati confliting ...
Qualsiasi aiuto sarebbe apprezzato.
Grazie mille. Questo chiarisce molte cose ... Giusto per essere sicuro, per il tex Texture2D [10]: register (t0), non posso dichiarare un'altra variabile usando register (t1) o register (t2) ... fino a dopo registrati (t9) perché saranno tutti esauriti, giusto? (Ti ho dato un +1, risposta molto esplicita, grazie ancora. La contrassegnerò come accettata dopo aver risolto questo ultimo punto) – l3utterfly
È corretto, se cerchi di associare più variabili allo stesso registro, il compilatore ti darà questo errore "sovrapposizione semantica del registro non ancora implementata". – catflier
Grazie. Risposta accettata – l3utterfly