游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2026|回复: 8

奇怪的问题..请不太忙的进来帮帮忙

[复制链接]

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2007-3-20 21:00:00 | 显示全部楼层 |阅读模式
渲染函数
{
          g_pd3dDevice->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xff000000, 1.0f, 0);               
        g_pd3dDevice->BeginScene();

          .........

          //设置雾化
        g_pd3dDevice -> SetRenderState( D3DRS_FOGENABLE, TRUE);
        g_pd3dDevice -> SetRenderState( D3DRS_FOGCOLOR, 0x00ffffFF);
        g_pd3dDevice -> SetRenderState( D3DRS_RANGEFOGENABLE, true);

        float start = 150;
        float end = 2000;
        g_pd3dDevice ->SetRenderState(D3DRS_FOGSTART, *(DWORD*)&start);
        g_pd3dDevice ->SetRenderState(D3DRS_FOGEND, *(DWORD*)&end);
        g_pd3dDevice ->SetRenderState(D3DRS_FOGTABLEMODE,D3DFOG_LINEAR);

        //FPS
        TheFPS.DrawFont();

        g_pd3dDevice->EndScene();
        g_pd3dDevice-&gtresent(0, 0, 0, 0);
}


DrawFont()定义如下
void FPSCounter:rawFont()
{
       
        RECT sRect;
        sRect.left   = 5;
        sRect.top    = 5;
        sRect.right  = 100;
        sRect.bottom = 20;

        _g_pFont -> DrawText(0, _fpsString, -1, &sRect, DT_LEFT | DT_TOP, 0xffffff00 );
}

现在问题出来了.为什么加入字体来显示fps后,雾化效果就没了.
把TheFPS.DrawFont();注释掉,雾化就又有了.请问哪出问题了........请指点一下~~~~~~谢谢

9

主题

104

帖子

104

积分

注册会员

Rank: 2

积分
104
QQ
发表于 2007-3-21 09:25:00 | 显示全部楼层

Re:奇怪的问题..请不太忙的进来帮帮忙

都在DRAW里设置的?雾化是不是应该在INIT里设置啊

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2007-3-21 12:38:00 | 显示全部楼层

Re:奇怪的问题..请不太忙的进来帮帮忙

找不出问题呀......急

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2007-3-21 12:59:00 | 显示全部楼层

Re:奇怪的问题..请不太忙的进来帮帮忙

应该是font把fog相关state关掉了
建议LZ把fog相关设置放在beginescene后面,其他渲染物体的前面

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2007-3-21 16:31:00 | 显示全部楼层

Re: Re:奇怪的问题..请不太忙的进来帮帮忙

千里马肝: Re:奇怪的问题..请不太忙的进来帮帮忙

应该是font把fog相关state关掉了
建议LZ把fog相关设置放在beginescene后面,其他渲染物体的前面


还是不行...真郁闷... [em11]

21

主题

54

帖子

54

积分

注册会员

Rank: 2

积分
54
发表于 2007-3-21 18:08:00 | 显示全部楼层

Re:奇怪的问题..请不太忙的进来帮帮忙

我也是 真郁闷

15

主题

49

帖子

55

积分

注册会员

Rank: 2

积分
55
 楼主| 发表于 2007-3-21 22:26:00 | 显示全部楼层

Re:奇怪的问题..请不太忙的进来帮帮忙

郁闷中~~~~~~~~~

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2007-3-22 17:09:00 | 显示全部楼层

Re:奇怪的问题..请不太忙的进来帮帮忙

用IDirect3DStateBlock9把需要的状态包起来
这样就不会影响上下文

10

主题

84

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2007-4-3 21:11:00 | 显示全部楼层

Re:奇怪的问题..请不太忙的进来帮帮忙

IDirect3DStateBlock9
现在 就是不知道 他改变了什么状态 要知道了我就可以改回来了

难道 大家都没遇到过吗? 我测试 了好几台机器都消失了雾 应该不是硬件问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-13 00:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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