游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2679|回复: 5

某种情况下用深度缓冲会引起窗口闪烁??

[复制链接]

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
发表于 2008-2-4 10:54:00 | 显示全部楼层 |阅读模式
我在清屏函数里用了深度缓冲
//g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(255, 4, 0), 1.0f, 0);
编译出来的窗口会不断闪烁,后来去了深度缓冲就没问题了
g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 4, 0), 1.0f, 0);

以前还没遇到过这种情况,因为这次换了一种写发(就是在循环部分写法不一样了),不知道是不是因为这个引起的,大家有没有遇到过这种情况啊,深度缓冲会引起这样的问题??


现在循环部分是这样写:
while (msg.message != WM_QUIT) {
                       
                        if (PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE)) {
                                TranslateMessage(&msg);
                                DispatchMessage(&msg);
                        }
                        else
                                Render();
                } [em7]

17

主题

258

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
发表于 2008-2-6 20:09:00 | 显示全部楼层

Re:某种情况下用深度缓冲会引起窗口闪烁??

你的那个相机的设置似乎后截面你设置为0了,你要设置为一个大于0的值.

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
 楼主| 发表于 2008-2-7 09:52:00 | 显示全部楼层

Re:某种情况下用深度缓冲会引起窗口闪烁??

我这里没有设置相机,只是建立一个窗口,BenginScene跟End..之间什么也没做

3

主题

121

帖子

121

积分

注册会员

Rank: 2

积分
121
QQ
发表于 2008-2-7 12:15:00 | 显示全部楼层

Re:某种情况下用深度缓冲会引起窗口闪烁??

在B与E之间用上Present试试

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
 楼主| 发表于 2008-2-7 20:02:00 | 显示全部楼层

Re:某种情况下用深度缓冲会引起窗口闪烁??

B与E间用PRESENT这样完全不合理了吧,b与E之间是在内存里画图,PRESENT 是不内存画好的图画到屏幕。

我去了深度缓冲已经没问题了,但是想知道为什么会产生这样的影响。

3

主题

121

帖子

121

积分

注册会员

Rank: 2

积分
121
QQ
发表于 2008-2-7 20:12:00 | 显示全部楼层

Re:某种情况下用深度缓冲会引起窗口闪烁??

呵呵,写错了.B与E之间是不能用PRESENT
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 01:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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