Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Výukový program pre DirectX Pixel Shader

Microsoft DirectX je užitočný nástroj pre operačný systém používaný mnohých počítačových hier sa zobrazí high - end grafiku . Aktualizácia softvéru poskytli ďalšie funkcie , vrátane pixel shader - užitočné pre vytváranie tieňov alebo dokonca aj mobilné tieňovanie grafiky . Tento postup je možné použiť iba na malých dávkach pixelov , typicky textúr . Takže zvážte použitie vektorových odtieňov , ak potrebujete zmeniť tieňovanie vlastnosti množstvom pixelov . Ak chcete dokončiť tento postup , musíte mať rozsiahle skúsenosti s C. programovacieho jazyka na obsluhu Cestuj 1

deklarovať DirectX pixel shader vo svojom programe :

PixelShader = zostaviť ps_1_1 OurFirstPixelShader ( ) ;

To vám umožní používať pixel shader programu vo svojom vlastnom programe . Avšak iba počítače s rozhraním DirectX nainštalované na svojich počítačoch budú môcť spustiť program .
2

Zadajte základné šablóny , ktoré musia byť zapísané na začiatku akéhokoľvek kód používaný s pixel shader , priamo pod objekt , ktorý chcete zmeniť pixelov :

struct PSInput { float4 Pos : SV_Position , float3 Normálny : NORMAL , float2 Texcoord : TEXCOORD0 ; float4 WorldPos : postavenie ; } ;

float4 PixelShader ( PSInput v ) : SV_Target {

Napríklad , ak chcete zmeniť pixelov textúry , to by byť umiestnený po tom , čo sa objaví v kóde
3

. Zadajte príkazy na akciu, ktorú chcete vykonať na pixel . Napríklad :

float4 Farba = g_Tex.Sample ( g_Sampler , In.Texcoord ) ;

float3 vray = ( float3 ) ( g_LightPos - In.WorldPos ) ;

float FDOT = max ( 0.0f , bodka ( normalizovať ( VRay ) , normalizovať ( In.Normal ) ) ) ;

vrátiť farieb * FDOT ; }

Tento príklad je Tex.Sample textúry sa objaví ľahší ako normálne . Ak chcete dokončiť tento krok , musíte mať plnú pracovnú znalosť príkazov C.
4

Uložte súbor , aby sa vaše zmeny .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené