mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 14:53:52 +00:00
Use SV_POSITION instead to compute pixel coordinates instead of fiddling with the polygon. This should fix the image being offset by 1 pixel.
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
static unsigned char gs_shaderData[] = {
|
static unsigned char gs_shaderData[] = {
|
||||||
68, 88, 66, 67, 232, 177, 184, 42, 191, 44, 237, 186, 185, 1, 42,
|
68, 88, 66, 67, 36, 129, 233, 7, 7, 186, 125, 28, 230, 207, 54,
|
||||||
67, 157, 207, 200, 70, 1, 0, 0, 0, 116, 5, 0, 0, 5, 0,
|
71, 251, 69, 112, 99, 1, 0, 0, 0, 144, 5, 0, 0, 5, 0,
|
||||||
0, 0, 52, 0, 0, 0, 52, 1, 0, 0, 140, 1, 0, 0, 192,
|
0, 0, 52, 0, 0, 0, 60, 1, 0, 0, 148, 1, 0, 0, 200,
|
||||||
1, 0, 0, 248, 4, 0, 0, 82, 68, 69, 70, 248, 0, 0, 0,
|
1, 0, 0, 20, 5, 0, 0, 82, 68, 69, 70, 0, 1, 0, 0,
|
||||||
1, 0, 0, 0, 132, 0, 0, 0, 2, 0, 0, 0, 28, 0, 0,
|
1, 0, 0, 0, 132, 0, 0, 0, 2, 0, 0, 0, 28, 0, 0,
|
||||||
0, 0, 4, 255, 255, 0, 137, 0, 0, 208, 0, 0, 0, 92, 0,
|
0, 0, 4, 255, 255, 0, 137, 0, 0, 216, 0, 0, 0, 92, 0,
|
||||||
0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255,
|
0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 255,
|
||||||
255, 255, 255, 0, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0,
|
255, 255, 255, 0, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0,
|
||||||
107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
@@ -14,85 +14,86 @@ static unsigned char gs_shaderData[] = {
|
|||||||
101, 108, 67, 111, 110, 115, 116, 97, 110, 116, 115, 0, 107, 0, 0,
|
101, 108, 67, 111, 110, 115, 116, 97, 110, 116, 115, 0, 107, 0, 0,
|
||||||
0, 1, 0, 0, 0, 156, 0, 0, 0, 16, 0, 0, 0, 0, 0,
|
0, 1, 0, 0, 0, 156, 0, 0, 0, 16, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 0, 16,
|
0, 0, 0, 0, 0, 0, 180, 0, 0, 0, 0, 0, 0, 0, 16,
|
||||||
0, 0, 0, 2, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 2, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0,
|
||||||
100, 120, 100, 121, 95, 85, 110, 117, 115, 101, 100, 0, 1, 0, 3,
|
100, 120, 100, 121, 95, 73, 110, 118, 80, 105, 120, 101, 108, 83, 99,
|
||||||
0, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 105,
|
97, 108, 101, 0, 171, 1, 0, 3, 0, 1, 0, 4, 0, 0, 0,
|
||||||
99, 114, 111, 115, 111, 102, 116, 32, 40, 82, 41, 32, 72, 76, 83,
|
0, 0, 0, 0, 0, 0, 77, 105, 99, 114, 111, 115, 111, 102, 116,
|
||||||
76, 32, 83, 104, 97, 100, 101, 114, 32, 67, 111, 109, 112, 105, 108,
|
32, 40, 82, 41, 32, 72, 76, 83, 76, 32, 83, 104, 97, 100, 101,
|
||||||
101, 114, 32, 49, 48, 46, 49, 0, 73, 83, 71, 78, 80, 0, 0,
|
114, 32, 67, 111, 109, 112, 105, 108, 101, 114, 32, 49, 48, 46, 49,
|
||||||
0, 2, 0, 0, 0, 8, 0, 0, 0, 56, 0, 0, 0, 0, 0,
|
0, 73, 83, 71, 78, 80, 0, 0, 0, 2, 0, 0, 0, 8, 0,
|
||||||
0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 15,
|
0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3,
|
||||||
0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 15, 3, 0, 0, 68, 0, 0, 0,
|
||||||
3, 0, 0, 0, 1, 0, 0, 0, 3, 3, 0, 0, 83, 86, 95,
|
0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0,
|
||||||
80, 79, 83, 73, 84, 73, 79, 78, 0, 84, 69, 88, 67, 79, 79,
|
0, 3, 0, 0, 0, 83, 86, 95, 80, 79, 83, 73, 84, 73, 79,
|
||||||
82, 68, 0, 171, 171, 171, 79, 83, 71, 78, 44, 0, 0, 0, 1,
|
78, 0, 84, 69, 88, 67, 79, 79, 82, 68, 0, 171, 171, 171, 79,
|
||||||
0, 0, 0, 8, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
|
83, 71, 78, 44, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0,
|
||||||
0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0,
|
32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
|
||||||
0, 83, 86, 95, 84, 65, 82, 71, 69, 84, 0, 171, 171, 83, 72,
|
0, 0, 0, 0, 0, 15, 0, 0, 0, 83, 86, 95, 84, 65, 82,
|
||||||
68, 82, 48, 3, 0, 0, 64, 0, 0, 0, 204, 0, 0, 0, 89,
|
71, 69, 84, 0, 171, 171, 83, 72, 68, 82, 68, 3, 0, 0, 64,
|
||||||
0, 0, 4, 70, 142, 32, 0, 0, 0, 0, 0, 1, 0, 0, 0,
|
0, 0, 0, 209, 0, 0, 0, 89, 0, 0, 4, 70, 142, 32, 0,
|
||||||
88, 24, 0, 4, 0, 112, 16, 0, 0, 0, 0, 0, 85, 85, 0,
|
0, 0, 0, 0, 1, 0, 0, 0, 88, 24, 0, 4, 0, 112, 16,
|
||||||
0, 98, 16, 0, 3, 50, 16, 16, 0, 1, 0, 0, 0, 101, 0,
|
0, 0, 0, 0, 0, 85, 85, 0, 0, 100, 32, 0, 4, 50, 16,
|
||||||
0, 3, 242, 32, 16, 0, 0, 0, 0, 0, 104, 0, 0, 2, 5,
|
16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 101, 0, 0, 3, 242,
|
||||||
0, 0, 0, 51, 0, 0, 11, 50, 0, 16, 0, 0, 0, 0, 0,
|
32, 16, 0, 0, 0, 0, 0, 104, 0, 0, 2, 5, 0, 0, 0,
|
||||||
70, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 64, 0,
|
0, 0, 0, 10, 50, 0, 16, 0, 0, 0, 0, 0, 70, 16, 16,
|
||||||
0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 191, 0, 0,
|
||||||
0, 0, 50, 0, 0, 14, 194, 0, 16, 0, 0, 0, 0, 0, 6,
|
0, 191, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 8, 50,
|
||||||
132, 32, 128, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 16, 0, 0, 0, 0, 0, 70, 0, 16, 0, 0, 0, 0, 0,
|
||||||
2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
230, 138, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0,
|
||||||
63, 0, 0, 0, 63, 6, 20, 16, 0, 1, 0, 0, 0, 52, 0,
|
10, 50, 0, 16, 0, 0, 0, 0, 0, 70, 0, 16, 0, 0, 0,
|
||||||
0, 10, 194, 0, 16, 0, 0, 0, 0, 0, 166, 14, 16, 0, 0,
|
0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 11, 194, 0, 16, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 50, 0, 16,
|
0, 0, 0, 0, 6, 132, 32, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 70, 0, 16, 0, 0, 0, 0, 0, 230, 10,
|
0, 2, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
16, 0, 0, 0, 0, 0, 65, 0, 0, 5, 194, 0, 16, 0, 0,
|
128, 63, 0, 0, 128, 63, 0, 0, 0, 7, 194, 0, 16, 0, 0,
|
||||||
0, 0, 0, 166, 14, 16, 0, 0, 0, 0, 0, 27, 0, 0, 5,
|
0, 0, 0, 166, 14, 16, 0, 0, 0, 0, 0, 6, 4, 16, 0,
|
||||||
50, 0, 16, 0, 1, 0, 0, 0, 230, 10, 16, 0, 0, 0, 0,
|
0, 0, 0, 0, 65, 0, 0, 5, 50, 0, 16, 0, 0, 0, 0,
|
||||||
0, 65, 0, 0, 5, 194, 0, 16, 0, 0, 0, 0, 0, 6, 4,
|
0, 70, 0, 16, 0, 0, 0, 0, 0, 27, 0, 0, 5, 50, 0,
|
||||||
16, 0, 0, 0, 0, 0, 0, 0, 0, 8, 50, 0, 16, 0, 0,
|
16, 0, 1, 0, 0, 0, 70, 0, 16, 0, 0, 0, 0, 0, 65,
|
||||||
0, 0, 0, 230, 10, 16, 128, 65, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 5, 50, 0, 16, 0, 0, 0, 0, 0, 230, 10, 16, 0,
|
||||||
70, 0, 16, 0, 0, 0, 0, 0, 27, 0, 0, 5, 50, 0, 16,
|
0, 0, 0, 0, 0, 0, 0, 8, 194, 0, 16, 0, 0, 0, 0,
|
||||||
0, 2, 0, 0, 0, 230, 10, 16, 0, 0, 0, 0, 0, 14, 32,
|
0, 6, 4, 16, 128, 65, 0, 0, 0, 0, 0, 0, 0, 166, 14,
|
||||||
0, 8, 50, 0, 16, 0, 0, 0, 0, 0, 70, 0, 16, 0, 0,
|
16, 0, 0, 0, 0, 0, 27, 0, 0, 5, 50, 0, 16, 0, 2,
|
||||||
0, 0, 0, 70, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 70, 0, 16, 0, 0, 0, 0, 0, 14, 32, 0, 8,
|
||||||
54, 0, 0, 5, 66, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0,
|
50, 0, 16, 0, 0, 0, 0, 0, 230, 10, 16, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 54, 0, 0, 5, 194, 0, 16, 0, 2, 0,
|
0, 70, 128, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0,
|
||||||
0, 0, 86, 9, 16, 0, 1, 0, 0, 0, 45, 0, 0, 7, 242,
|
0, 5, 66, 0, 16, 0, 1, 0, 0, 0, 1, 64, 0, 0, 0,
|
||||||
0, 16, 0, 3, 0, 0, 0, 70, 15, 16, 0, 2, 0, 0, 0,
|
0, 0, 0, 54, 0, 0, 5, 194, 0, 16, 0, 2, 0, 0, 0,
|
||||||
70, 126, 16, 0, 0, 0, 0, 0, 45, 0, 0, 7, 242, 0, 16,
|
86, 9, 16, 0, 1, 0, 0, 0, 45, 0, 0, 7, 242, 0, 16,
|
||||||
0, 4, 0, 0, 0, 134, 15, 16, 0, 2, 0, 0, 0, 70, 126,
|
0, 3, 0, 0, 0, 70, 15, 16, 0, 2, 0, 0, 0, 70, 126,
|
||||||
16, 0, 0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 1,
|
16, 0, 0, 0, 0, 0, 45, 0, 0, 7, 242, 0, 16, 0, 4,
|
||||||
0, 0, 0, 26, 0, 16, 0, 2, 0, 0, 0, 45, 0, 0, 7,
|
0, 0, 0, 134, 15, 16, 0, 2, 0, 0, 0, 70, 126, 16, 0,
|
||||||
242, 0, 16, 0, 2, 0, 0, 0, 198, 10, 16, 0, 1, 0, 0,
|
0, 0, 0, 0, 54, 0, 0, 5, 130, 0, 16, 0, 1, 0, 0,
|
||||||
0, 70, 126, 16, 0, 0, 0, 0, 0, 45, 0, 0, 7, 242, 0,
|
0, 26, 0, 16, 0, 2, 0, 0, 0, 45, 0, 0, 7, 242, 0,
|
||||||
16, 0, 1, 0, 0, 0, 70, 10, 16, 0, 1, 0, 0, 0, 70,
|
16, 0, 2, 0, 0, 0, 198, 10, 16, 0, 1, 0, 0, 0, 70,
|
||||||
126, 16, 0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0,
|
126, 16, 0, 0, 0, 0, 0, 45, 0, 0, 7, 242, 0, 16, 0,
|
||||||
4, 0, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16,
|
1, 0, 0, 0, 70, 10, 16, 0, 1, 0, 0, 0, 70, 126, 16,
|
||||||
0, 4, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 3, 0,
|
0, 0, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 4, 0,
|
||||||
0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 3,
|
0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 4,
|
||||||
0, 0, 0, 0, 0, 0, 11, 82, 0, 16, 0, 0, 0, 0, 0,
|
0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 3, 0, 0, 0,
|
||||||
6, 1, 16, 128, 65, 0, 0, 0, 0, 0, 0, 0, 2, 64, 0,
|
6, 0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 3, 0, 0,
|
||||||
0, 0, 0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0,
|
0, 0, 0, 0, 11, 82, 0, 16, 0, 0, 0, 0, 0, 6, 1,
|
||||||
0, 0, 50, 0, 0, 9, 114, 0, 16, 0, 2, 0, 0, 0, 6,
|
16, 128, 65, 0, 0, 0, 0, 0, 0, 0, 2, 64, 0, 0, 0,
|
||||||
0, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0,
|
0, 128, 63, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 0, 0,
|
||||||
70, 2, 16, 0, 3, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16,
|
50, 0, 0, 9, 114, 0, 16, 0, 2, 0, 0, 0, 6, 0, 16,
|
||||||
0, 2, 0, 0, 0, 86, 5, 16, 0, 0, 0, 0, 0, 70, 2,
|
0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0, 0, 70, 2,
|
||||||
16, 0, 2, 0, 0, 0, 50, 0, 0, 9, 178, 0, 16, 0, 0,
|
16, 0, 3, 0, 0, 0, 56, 0, 0, 7, 114, 0, 16, 0, 2,
|
||||||
0, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 70, 8, 16, 0,
|
0, 0, 0, 86, 5, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0,
|
||||||
1, 0, 0, 0, 70, 8, 16, 0, 4, 0, 0, 0, 50, 0, 0,
|
2, 0, 0, 0, 50, 0, 0, 9, 178, 0, 16, 0, 0, 0, 0,
|
||||||
9, 114, 32, 16, 0, 0, 0, 0, 0, 166, 10, 16, 0, 0, 0,
|
0, 6, 0, 16, 0, 0, 0, 0, 0, 70, 8, 16, 0, 1, 0,
|
||||||
0, 0, 70, 3, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2,
|
0, 0, 70, 8, 16, 0, 4, 0, 0, 0, 50, 0, 0, 9, 114,
|
||||||
0, 0, 0, 54, 0, 0, 5, 130, 32, 16, 0, 0, 0, 0, 0,
|
32, 16, 0, 0, 0, 0, 0, 166, 10, 16, 0, 0, 0, 0, 0,
|
||||||
1, 64, 0, 0, 0, 0, 128, 63, 62, 0, 0, 1, 83, 84, 65,
|
70, 3, 16, 0, 0, 0, 0, 0, 70, 2, 16, 0, 2, 0, 0,
|
||||||
84, 116, 0, 0, 0, 26, 0, 0, 0, 5, 0, 0, 0, 0, 0,
|
0, 54, 0, 0, 5, 130, 32, 16, 0, 0, 0, 0, 0, 1, 64,
|
||||||
0, 0, 2, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 128, 63, 62, 0, 0, 1, 83, 84, 65, 84, 116,
|
||||||
0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 27, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
2, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4,
|
0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace GpBinarizedShaders
|
namespace GpBinarizedShaders
|
||||||
|
@@ -814,10 +814,10 @@ void GpDisplayDriverD3D11::ScaleVirtualScreen()
|
|||||||
float fHeight = static_cast<float>(m_windowHeightVirtual) * m_pixelScaleY;
|
float fHeight = static_cast<float>(m_windowHeightVirtual) * m_pixelScaleY;
|
||||||
|
|
||||||
DrawQuadVertexConstants vConstantsData;
|
DrawQuadVertexConstants vConstantsData;
|
||||||
vConstantsData.m_ndcOriginX = twoDivWidth - 1.0f;
|
vConstantsData.m_ndcOriginX = - 1.0f;
|
||||||
vConstantsData.m_ndcOriginY = negativeTwoDivHeight + 1.0f;
|
vConstantsData.m_ndcOriginY = 1.0f;
|
||||||
vConstantsData.m_ndcWidth = fWidth * twoDivWidth;
|
vConstantsData.m_ndcWidth = 2.0;
|
||||||
vConstantsData.m_ndcHeight = fHeight * negativeTwoDivHeight;
|
vConstantsData.m_ndcHeight = -2.0;
|
||||||
|
|
||||||
vConstantsData.m_surfaceDimensionX = static_cast<float>(m_windowWidthVirtual);
|
vConstantsData.m_surfaceDimensionX = static_cast<float>(m_windowWidthVirtual);
|
||||||
vConstantsData.m_surfaceDimensionY = static_cast<float>(m_windowHeightVirtual);
|
vConstantsData.m_surfaceDimensionY = static_cast<float>(m_windowHeightVirtual);
|
||||||
@@ -832,6 +832,8 @@ void GpDisplayDriverD3D11::ScaleVirtualScreen()
|
|||||||
ScaleQuadPixelConstants pConstantsData;
|
ScaleQuadPixelConstants pConstantsData;
|
||||||
pConstantsData.m_dx = static_cast<float>(static_cast<double>(m_windowWidthVirtual) / static_cast<double>(m_windowWidthPhysical));
|
pConstantsData.m_dx = static_cast<float>(static_cast<double>(m_windowWidthVirtual) / static_cast<double>(m_windowWidthPhysical));
|
||||||
pConstantsData.m_dy = static_cast<float>(static_cast<double>(m_windowHeightVirtual) / static_cast<double>(m_windowHeightPhysical));
|
pConstantsData.m_dy = static_cast<float>(static_cast<double>(m_windowHeightVirtual) / static_cast<double>(m_windowHeightPhysical));
|
||||||
|
pConstantsData.m_invScaleX = static_cast<float>(1.0f / m_pixelScaleX);
|
||||||
|
pConstantsData.m_invScaleY = static_cast<float>(1.0f / m_pixelScaleY);
|
||||||
|
|
||||||
D3D11_MAPPED_SUBRESOURCE mappedPConstants;
|
D3D11_MAPPED_SUBRESOURCE mappedPConstants;
|
||||||
if (m_deviceContext->Map(m_scaleQuadPixelConstantBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedPConstants) == S_OK)
|
if (m_deviceContext->Map(m_scaleQuadPixelConstantBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedPConstants) == S_OK)
|
||||||
|
@@ -99,7 +99,8 @@ private:
|
|||||||
{
|
{
|
||||||
float m_dx;
|
float m_dx;
|
||||||
float m_dy;
|
float m_dy;
|
||||||
float m_unused[2];
|
float m_invScaleX;
|
||||||
|
float m_invScaleY;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CompactedPresentHistoryItem
|
struct CompactedPresentHistoryItem
|
||||||
|
@@ -5,7 +5,7 @@ Texture2D<float3> surfaceTexture : register(t0);
|
|||||||
|
|
||||||
cbuffer SScaleQuadPixelConstants : register(b0)
|
cbuffer SScaleQuadPixelConstants : register(b0)
|
||||||
{
|
{
|
||||||
float4 dxdy_Unused;
|
float4 dxdy_InvPixelScale;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SDrawQuadPixelOutput
|
struct SDrawQuadPixelOutput
|
||||||
@@ -20,10 +20,10 @@ float3 SamplePixel(int2 coord)
|
|||||||
|
|
||||||
SDrawQuadPixelOutput PSMain(SDrawQuadPixelInput input)
|
SDrawQuadPixelOutput PSMain(SDrawQuadPixelInput input)
|
||||||
{
|
{
|
||||||
float dx = dxdy_Unused.x;
|
float dx = dxdy_InvPixelScale.x;
|
||||||
float dy = dxdy_Unused.y;
|
float dy = dxdy_InvPixelScale.y;
|
||||||
|
|
||||||
float2 pixelTopLeftCoord = max(0.0, input.texCoord.xy - float2(dx, dy) * 0.5);
|
float2 pixelTopLeftCoord = max(0.0, (input.pos.xy - float2(0.5, 0.5)) * dxdy_InvPixelScale.zw);
|
||||||
float2 pixelBottomRightCoord = pixelTopLeftCoord + min(float2(1.0, 1.0), float2(dx, dy));
|
float2 pixelBottomRightCoord = pixelTopLeftCoord + min(float2(1.0, 1.0), float2(dx, dy));
|
||||||
|
|
||||||
int2 topLeftCoordInteger = int2(floor(pixelTopLeftCoord));
|
int2 topLeftCoordInteger = int2(floor(pixelTopLeftCoord));
|
||||||
|
Reference in New Issue
Block a user