Microsofts DirectX er et nyttigt redskab for det operativsystem der bruges af mange computerspil til at vise high -end grafik. Opdateringer af softwaren har givet ekstra funktioner , herunder pixel shader - nyttigt for at skabe skygger eller endda celle - shading grafik. Denne proces kan kun anvendes på små partier af pixels , typisk teksturer. Så overveje at bruge vektor nuancer , hvis du har brug for at ændre skygger kvaliteter af masser af pixels. For at fuldføre denne proces , skal du have stor erfaring med programmeringssproget C. Instruktioner
1
Erklær DirectX pixel shader i dit program : Hej
Pixelshader = compile ps_1_1 OurFirstPixelShader ();
Dette vil tillade dig at bruge programmets pixel shader inden for dit eget program. Dog vil der kun computere med DirectX installeret på deres computere være i stand til at køre programmet.
2
Skriv den grundlæggende skabelon , som skal indtastes i begyndelsen af enhver kode, der bruges med pixel shader , direkte under det objekt, du ønsker at ændre pixels i : Hej
struct PSInput { float4 Pos: SV_Position ; float3 Normal: NORMAL , float2 Texcoord : TEXCOORD0 ; float4 WorldPos : POSITION ; };
float4 Pixelshader ( PSInput In) : SV_Target {
for eksempel, hvis du ønsker at ændre pixels i en tekstur , ville dette placeres efter det vises i koden
3
. Skriv de kommandoer den handling, du ønsker at udføre på pixel. For eksempel : Hej
float4 Color = g_Tex.Sample ( g_Sampler , In.Texcoord ),
float3 Vray = ( float3 ) ( g_LightPos - In.WorldPos )
float FDOT = max ( 0.0f , prik ( normalisere ( Vray ) , normalisere ( In.Normal ))) ;
retur Farve * FDOT ;}
Dette eksempel gør Tex.Sample tekstur vises lysere end det normalt er . For at fuldføre dette trin , skal du have en fuld arbejdsdag kendskab til C- kommandoer.
4
Gem filen for at holde dine ændringer.