De Jim Blinn Un voyage dans le pipeline graphique , p. 138.
Commençons par ce qui peut sembler, à première vue, la transformation la plus simple : les coordonnées normalisées du dispositif vers l'espace pixel. Cette transformation est
s_x * X_NDC + d_x = X_pixel
s_y * Y_NDC + d_y = Y_pixel
Un utilisateur/programmeur se charge de la conception des écrans dans NDC. Il y a trois réalités désagréables du matériel que NDC nous cache :
-
Le nombre réel de pixels dans x y y .
-
Espacement non uniforme des pixels dans x y y .
-
La hausse contre la baisse pour le Y coordonnées. La transformation de NDC en pixel inversera Y si nécessaire, afin que Y dans les points NDC vers le haut.
...
s_x = ( N_x - epsilon ) / 2
d_x = ( N_x - epsilon ) / 2
s_y = ( N_y - epsilon ) / (-2*a)
d_y = ( N_y - epsilon ) / 2
epsilon = .001
a = N_y/N_x (physical screen aspect ratio)