当DirectX9 使用SetViewPort后画D3DPT_POINTLIST有问题

myplxdm 2012-06-28 07:12:32
我是在一个1280 * 480 的窗体上画图像,左边画GDI+有关的图像,右边画3D图像各一半,伪代码如下:
D3DVIEWPORT9 v = {640,0,640,480,0,20};
device->setviewport(&v);
device->DrawPrimitive(D3DPT_POINTLIST,0,count);
RECT rc = {640,0,1280,480};
device->Present(&rc,&rc,NULL,NULL);

现在的问题是当这样设置视口后,其实3D图像的可显示区域并不是640到1280,而是858到1280,不知道为什么,当我旋转图像时640到858区域的会被裁剪掉不显示内容,如果我改用D3DPT_TRIANGLELIST类同样设置视口没有问题,不会被裁剪,可视范围是640到1280,不知道为什么?
...全文
142 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

8,304

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧