貼り付ける画像のサイズはx128*y128、VECTORを以下に設定し、解像度だけを変えて表示させてみた結果です。
float Z=0.0F
Vertex[0].pos.x=0.0F; Vertex[0].pos.y=129.0F; Vertex[0].pos.z=Z;
Vertex[1].pos.x=128.0F; Vertex[1].pos.y=129.0F; Vertex[1].pos.z=Z;
Vertex[2].pos.x=0.0F; Vertex[2].pos.y=1.0F; Vertex[2].pos.z=Z;
Vertex[3].pos.x=128.0F; Vertex[3].pos.y=1.0F; Vertex[3].pos.z=Z;
Vertex[4].pos.x=0.0F; Vertex[4].pos.y=1.0F; Vertex[4].pos.z=Z;
Vertex[5].pos.x=128.0F; Vertex[5].pos.y=129.0F; Vertex[5].pos.z=Z;
<1a>解像度が640*480
画像は画面左下に128*128の大きさで正しく表示される。
<1b>解像度が800*480
画像は画面左下に128*128の大きさで正しく表示される。
<1c>解像度が1280*480
画像は画面左下に128*128の大きさで正しく表示される。
<2a>解像度が640*600
画像と画面の端にx7ドット,y6ドットの隙間ができ、サイズ125*126の画像が表示される。
<2b>解像度が800*600
画像と画面の端にx8ドット,y6ドットの隙間ができ、サイズ126*126の画像が表示される。
<2c>解像度が1280*600
画像と画面の端にx13ドット,y6ドットの隙間ができ、サイズ125*126の画像が表示される。
<3a>解像度が640*720
画像と画面の端にx11ドット,y12ドットの隙間ができ、サイズ124*124の画像が表示される。
<3b>解像度が800*720
画像と画面の端にx14ドット,y12ドットの隙間ができ、サイズ123*124の画像が表示される。
<3c>解像度が1280*720
画像と画面の端にx21ドット,y12ドットの隙間ができ、サイズ124*124の画像が表示される。
<4a>解像度が640*360
画像の一部が画面の外に出てしまい、121*127だけが表示される。
<4b>解像度が800*360
画像の一部が画面の外に出てしまい、119*127だけが表示される。
<4c>解像度が1280*720
画像の一部が画面の外に出てしまい、110*127だけが表示される。
<5a>解像度が640*240
画像の一部が画面の外に出ているが、106*130(!)が表示される。
<5b>解像度が800*240
画像の一部が画面の外に出ているが、97*130(!)が表示される。
<5c>解像度が1280*240
画像の一部が画面の外に出ているが、69*130(!)が表示される。
<6(大きいずれ)>解像度が1920*1200
画像と画面の端にx56ドット(!),y35ドット(!)の隙間ができ、121*121の画像が表示される。
---どうやら解像度のy値を変えるとVECTORのZ値を調整する必要があるのではないかと思い、
解像度のyの変更量におおよそ比例して、VECTORのZ値を以下のように調整するとうまく表示されました。
<2a+>解像度が640*600、VECTORのZを"-12.0F"に
画像は画面左下に128*128の大きさで正しく表示される。
<2c+>解像度が1280*600、VECTORのZを"-12.0F"に
画像は画面左下に127*128の大きさでほぼ正しく表示される。
<3a+>解像度が640*720、VECTORのZを"-24.0F"に
画像は画面左下に128*127の大きさでほぼ正しく表示される。
<4a+>解像度が640*360、VECTORのZを"+10.0F"に
画像は画面左下に128*128の大きさで正しく表示される。
<5a+>解像度が640*240、VECTORのZを"+21.0F"に
画像は画面左下に128*129の大きさでほぼ正しく表示される。
<6+>解像度が1920*1200、VECTORのZを"-64.0F"に
画像は画面左下に128*128の大きさで正しく表示される。
Windowモード、全画面モードのどちらでも同じ結果になりました。
環境は Windows Vista, VisualC++2008, DXライブラリ2.24aです。
解決法はわかったのですが、DXライブラリからこの問題に対処してくださると助かります。