Tutorial for en DirectX Pixel Shader
Microsofts DirectX er et nyttig verktøy for operativsystemet som brukes av mange dataspill for å vise avansert grafikk. Oppdateringer av programvaren 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 skygge kvaliteter mange piksler. For å fullføre denne prosessen, må du ha lang erfaring med programmeringsspråket C.
Bruksanvisning
1 Erklærer DirectX pixel shader i programmet:
PixelShader = kompilere ps_1_1 OurFirstPixelShader ();
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 Skriv inn grunnleggende mal som må tastes inn ved begynnelsen av en kode som brukes sammen med pixel shader, rett under objektet du vil endre bildepunktene på:
struct PSInput
{
float4 Pos : SV_Position;
float3 Normal : NORMAL;
float2 Texcoord : TEXCOORD0;
float4 WorldPos : POSITION;
};
float4 PixelShader (PSInput I): SV_Target
{
For eksempel, hvis du ønsker å endre pikslene i en tekstur, dette ville bli plassert etter den vises i koden.
3 Skriv inn kommandoer av handlingen du vil utføre på pixel. For eksempel:
float4 Color = g_Tex.Sample (g_Sampler, In.Texcoord);
float3 vRay = (float3)(g_LightPos - In.WorldPos);
flyte FDOT = max (0.0f, prikk (normal (Vray), normal (In.Normal)));
tilbake Color * FDOT;
}
Dette eksempelet gjør Tex.Sample tekstur lysere enn det normalt er. For å fullføre dette trinnet, må du ha en full kjennskap til C kommandoer.
4 Lagre filen for å beholde endringene.