Microsofts DirectX er et nyttig verktøy for operativsystemet som brukes av mange dataspill å vise avansert grafikk . Oppdateringer av programvare har gitt ekstra funksjoner, inkludert pixel shader - nyttig for å lage skygger eller celle - shading -grafikk . Denne prosessen kan bare brukes til små grupper av piksler , typisk teksturer. Så vurdere å bruke vektor nyanser hvis du trenger å endre skyggelegging kvaliteter av mange piksler. For å fullføre denne prosessen , må du ha lang erfaring med programmeringsspråket C. Instruksjoner
en
Erklærer DirectX pixel shader i programmet : en
PixelShader = kompilering ps_1_1 OurFirstPixelShader ();
p Dette vil tillate deg å bruke programmets pixel shader innenfor ditt eget program . Imidlertid vil bare datamaskiner med DirectX installert på sine datamaskiner kunne kjøre programmet .
2
Type grunnleggende mal som må tastes inn ved begynnelsen av enhver regel brukes med pixel shader , rett under objektet du vil endre piksler : en
struct PSInput { float4 Pos: SV_Position ; float3 Normal: NORMAL ; float2 Texcoord : TEXCOORD0 ; float4 WorldPos : POSISJON ; };
float4 PixelShader ( PSInput i ) : SV_Target {
for eksempel, hvis du ønsker å endre pikslene i en tekstur , vil dette bli plassert etter at den vises i koden
3
. skriv inn kommandoer av den handlingen du ønsker å utføre på piksel. For eksempel : en
float4 Color = g_Tex.Sample ( g_Sampler , In.Texcoord ) ;
float3 VRay = ( float3 ) ( g_LightPos - In.WorldPos ) ;
float FDOT = max ( 0.0f , prikk ( normalisere ( VRay ) , normalisere ( In.Normal ) ));
retur Color * FDOT ;}
Dette eksemplet gjør Tex.Sample tekstur vises lettere enn det normalt er . For å fullføre dette trinnet , må du ha en full kjennskap til C -kommandoer .
4
Lagre filen for å beholde endringene .