
AMD FidelityFX™ Parallel Sort
AMD FidelityFX Parallel Sort makes sorting data on the GPU quicker, and easier. Use our SM6.0 compute shaders to get your data in order.
Quaternion defined Q:a+bi+cj+dk=(r,v)=(Qw,Qx,Qy,Qz)
1−2(Qy2+Qz2)2(QxQy+QzQw)2(QxQz−QyQw)02(QxQy−QzQw)1−2(Qx2+Qz2)2(QyQz+QxQw)02(QxQz+QyQw)2(QyQz−QxQw)1−2(Qx2+Qy2)00001Axis angle defined U:cos(θ)+sin(θ)(u^x,u^y,u^z)
where :∣∣u^∣∣=1
(1−c)u^x2+c(1−c)u^xu^y+su^z(1−c)u^xu^z−su^y0(1−c)u^xu^y−su^z(1−c)u^y2+c(1−c)u^yu^z+su^x0(1−c)u^xu^z+su^y(1−c)u^yu^z−su^x(1−c)u^z2+c00001Plane defined P:ax+by+cz+d=0
1−2a2−2ab−2ac0−2ab1−2b2−2bc0−2ac−2bc1−2c20−2ad−2bd−2cd1l - left coordinate of the orthographic frustum
r - right coordinate of the orthographic frustum
b - bottom coordinate of the orthographic frustum
t - top coordinate of the orthographic frustum
n - distance to the near plane of the orthographic frustum
f - distance to the far plane of the orthographic frustum
w - width of the near plane of the orthographic frustum
h - height of the near plane of the orthographic frustum
View Space | Left-handed NDC Space | Right-handed NDC Space | |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
View Space | Left-handed NDC Space | Right-handed NDC Space | |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
l - left coordinate of the perspective frustum
r - right coordinate of the perspective frustum
b - bottom coordinate of the perspective frustum
t - top coordinate of the perspective frustum
n - distance to the near plane of the perspective frustum
f - distance to the far plane of the perspective frustum
w - width of the near plane of the perspective frustum
h - height of the near plane of the perspective frustum
α - angle between of left and right frustum planes of the perspective frustum
β - angle between of top and bottom frustum planes of the perspective frustum
View Space | Left-handed NDC Space | Right-handed NDC Space | |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
View Space | Left-handed NDC Space | Right-handed NDC Space | |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
View Space | Left-handed NDC Space | Right-handed NDC Space | |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
View Space | Left-handed NDC Space | Right-handed NDC Space | |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
View Space | Left-handed NDC Space | Right-handed NDC Space | |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
View Space | Left-handed NDC Space | Right-handed NDC Space | |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
View Space | Left-handed NDC Space | Right-handed NDC Space | |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
View Space | Left-handed NDC Space | Right-handed NDC Space | |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
l - left coordinate of the orthographic frustum
r - right coordinate of the orthographic frustum
b - bottom coordinate of the orthographic frustum
t - top coordinate of the orthographic frustum
n - distance to the near plane of the orthographic frustum
f - distance to the far plane of the orthographic frustum
w - width of the near plane of the orthographic frustum
h - height of the near plane of the orthographic frustum
jx - jitter in NDC space in the x-direction
jy - jitter in NDC space in the y-direction
l - left coordinate of the perspective frustum
r - right coordinate of the perspective frustum
b - bottom coordinate of the perspective frustum
t - top coordinate of the perspective frustum
n - distance to the near plane of the perspective frustum
f - distance to the far plane of the perspective frustum
w - width of the near plane of the perspective frustum
h - height of the near plane of the perspective frustum
jx - jitter in NDC space in the x-direction
jy - jitter in NDC space in the y-direction
α - angle between of left and right frustum planes of the perspective frustum
β - angle between of top and bottom frustum planes of the perspective frustum
at - position of the point at which the camera will be pointing at
eye - position of the camera
up - “Up” direction of the camera
C - “Forward” vector
A - “Right” vector
B - “Up” vector
C=∥at−eye∥at−eye A=up×C B=C×A
AxAyAz0BxByBz0CxCyCz0−(A⋅eye)−(B⋅eye)−(C⋅eye)1dir - desired direction of the camera
up - “Up” direction of the camera
C - “Forward” vector
A - “Right” vector
B - “Up” vector
C=dir A=up×C B=C×A
AxAyAz0BxByBz0CxCyCz0−(A⋅eye)−(B⋅eye)−(C⋅eye)1Plane defined P:Ax+By+Cz+D=0
Light position L:(Lx,Ly,Lz)
where w=0 for direction light
w=1 for point light
L=(Lx,Ly,Lx,w) P=(A,B,C,D) k=P⋅L
k−PxLx−PyLx−PzLx−PwLx−PxLyk−PyLy−PzLy−PwLy−PxLz−PyLzk−PzLz−PwLz−PxLw−PyLw−PzLwk−PwLw