游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3095|回复: 9

请教一个在D3D下绘制2D图形的问题。谢谢!

[复制链接]

1

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2007-8-29 23:47:00 | 显示全部楼层 |阅读模式
我在一个窗口(非全屏)中用D3D绘制一个2D图形,怎么样做到无论窗口大小变化,绘制的图形大小都不会变化?类似于GDI的那些绘图?给点提示行吗?谢谢

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2007-8-30 07:39:00 | 显示全部楼层

Re:请教一个在D3D下绘制2D图形的问题。谢谢!

检测窗口大小变化,有变化就Reset设备

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2007-8-30 09:07:00 | 显示全部楼层

Re: 请教一个在D3D下绘制2D图形的问题。谢谢!

楼上的RESET设备能保持图像大小不变?倒.

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2007-8-30 11:03:00 | 显示全部楼层

Re:请教一个在D3D下绘制2D图形的问题。谢谢!

用XYZRHW来画不就行了?

1

主题

149

帖子

149

积分

注册会员

Rank: 2

积分
149
QQ
发表于 2007-8-30 12:11:00 | 显示全部楼层

Re:请教一个在D3D下绘制2D图形的问题。谢谢!

检测窗口大小变化,有变化就Reset设备,使用当前窗口的尺寸更新DEVICE,这样就行.

    //重置窗口,设置BackBuffer大小为窗口客户大小
......
    g_d3dpp.BackBufferWidth=newWidth;
    g_d3dpp.BackBufferHeight=newHeight;
......
    HRESULT ret=g_pd3dDevice->Reset(&g_d3dpp);   
......

1

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
 楼主| 发表于 2007-8-30 14:50:00 | 显示全部楼层

Re:请教一个在D3D下绘制2D图形的问题。谢谢!

不会影响效率吧?

1

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
 楼主| 发表于 2007-8-30 14:52:00 | 显示全部楼层

Re:请教一个在D3D下绘制2D图形的问题。谢谢!

对了,我用D3D做一个播放器软件界面,有些按钮做到上面所说的大小不变,Video部分还是会随窗口大小变化的,这样Reset设备会不会行不通?

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2007-8-30 16:31:00 | 显示全部楼层

Re:请教一个在D3D下绘制2D图形的问题。谢谢!

……
重设BACKBUFFER大小只能让图像和窗口保持相应的比例……不是保持图像大小……无语无语

1

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
 楼主| 发表于 2007-8-30 16:41:00 | 显示全部楼层

Re:请教一个在D3D下绘制2D图形的问题。谢谢!

同意楼上的,楼上的有好建议吗?

1

主题

149

帖子

149

积分

注册会员

Rank: 2

积分
149
QQ
发表于 2007-8-30 20:31:00 | 显示全部楼层

Re:请教一个在D3D下绘制2D图形的问题。谢谢!

你到底尝试了没?多问不如多尝试.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 02:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表