Formler för bumpmappning (Direct3D 9)
Direct3D tillämpar följande formler på DU- och DV-komponenterna i varje bump-mappspixel.
I dessa formler tas variablerna DU och DV direkt från en bildpunkt på en bumpkarta och omvandlas av en 2x2-matris för att producera utdatadelvärdena DUoch DV. Systemet använder utdatavärdena för att ändra de strukturkoordinater som hanterar miljökartan i nästa struktursteg. Transformeringsmatrisens koefficienter anges genom texturstegets tillstånd D3DTSS_BUMPENVMAT00, D3DTSS_BUMPENVMAT10, D3DTSS_BUMPENVMAT01 och D3DTSS_BUMPENVMAT11.
Förutom värdena du och v delta kan systemet beräkna ett luminansvärde som det använder för att modulera färgen på miljökartan i nästa blandningssteg, enligt följande formel.
I den här formeln är L' den utdataluminans som beräknas. L-variabeln är det luminansvärde som tas från en bumpkartas bildpunkt, multipliceras med skalningsfaktorn S och förskjuts av värdet i variabeln O. Texturstegstillstånden D3DTSS_BUMPENVLSCALE och D3DTSS_BUMPENVLOFFSET styr värdena för S och O i formeln. Den här formeln tillämpas bara när texturblandningsåtgärden för fasen som innehåller bumpkartan är inställd på D3DTOP_BUMPENVMAPLUMINANCE. När D3DTOP_BUMPENVMAP används, använder systemet ett värde av 1,0 för L'.
Efter att ha beräknat utdatadeltavärdena DUoch DVlägger systemet till dem i strukturkoordinaterna i nästa struktursteg och modulerar den valda färgen med luminansen för att producera den färg som tillämpas på polygonen.
Relaterade ämnen