|
|
小弟想用D3D做2D游戏 前几天图形部分差不多了 但发现贴图总是有点模糊 除非把要画的矩形大小加1才清晰
分析了很久 贴图部分没问题 我是把贴图贴在一个矩形上
然后做了个试验 发现。。发现绘制矩形的位置有点问题!
struct CUSTOMVERTEX
{
FLOAT x, y, z, rhw;
DWORD color;
};
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE) //顶点格式
CUSTOMVERTEX vertices[] =
{
{ 100.0f, 400.0f, 0.5f, 1.0f, 0xffff0000, },//左下
{ 100.0f, 100.0f, 0.5f, 1.0f, 0xff00ff00, },//左上
{ 400.0f, 400.0f, 0.5f, 1.0f, 0xff0000ff, },//右下
{ 400.0f, 100.0f, 0.5f, 1.0f, 0xff00ffff, },//右上
};
但在屏幕上实际的位置确是
100 399
100 100
400 399
399 100
我绘制了两次 第一次用TRIANGLESTRIP绘制矩形
然后在把点的颜色填充成黑色 在绘制D3DPT_POINTLIST
点的位置没变 但绘制后的坐标怎么却改变了?
后来试着用D3DPT_TRIANGLELIST绘制一个三角形 最终结果也比实际的小
这是怎么回事?
刚试了 画线也是正确的..
|
|