• 注册
  • 关于作者
    企业认证:趣记站长
    关注 6 粉丝 4 喜欢 9 内容 992
    江西省·南昌市
    聊天 送礼
    • 查看作者
    • 如何在3D场景中加入Fog

          在3D场景中加入Fog(雾化效果)能增加真实感,产生纵深感和距离感,

      使用DirectX优化声音特性
      利用Directshow开发源Filter,DShow中实现抓图的几种方法,角色扮演游戏引擎的设计原理,关于飞机射击类游戏的设计原理,游戏引擎剖析(十一),游戏引擎剖析(十),游戏引擎剖析(九),游戏引擎剖析(八),游戏引擎剖析(七),游戏引擎剖析(六),游戏引擎剖析(五),游戏引擎剖析(四),游戏引擎剖析(三),游戏引擎剖析(二),游戏引擎剖析(一),渲染状态管理,对2D游戏引擎设计的一些思考,游戏引擎演化史,网络游戏外挂编写初级教程,j2me游戏开发实例讲解
      游戏开发

      也可以用来营造气氛;或者使景物产生朦胧的感觉。Direct3D支持两种雾化模式——pixel fog 和 vertex fog 。

          Fog的使用相当简单。只需要设置好几个参数就可以。

      首先设置是否启用Fog效果:

          g_pDevice->SetRenderState(D3DRS_FOGENABLE, TRUE);

      接着判断Fog的颜色:

          g_pDevice->SetRenderState(D3DRS_FOGCOLOR, 0x0f0f0f);

      然后判断要使用的Fog的公式模式,Fog的公式模式有三种——D3DFOG_LINEAR 、D3DFOG_EXP、D3DFOG_EXP2

      1.如果使用D3DFOG_LINEAR模式,就要设置起用Fog的深度的开始值D3DRS_FOGSTART和结束值D3DRS_FOGEND

          pd3dDevice8->SetRenderState(D3DRS_FOGSTART, *((DWORD*) (&fFogStart)));

          pd3dDevice8->SetRenderState(D3DRS_FOGEND, *((DWORD*) (&fFogEnd)));

      2.如果使用非D3DFOG_LINEAR模式,就要设置Fog的浓度

          g_pDevice->SetRenderState(D3DRS_FOGDENSITY, *(DWORD *)(&Density));

      个人感觉Pixel Fog更容易实现和控制一些

      下面给出一个Pixel Fog的例子

      float Start = 0.5f, // For linear mode

      End = 0.8f,

      Density = 0.66; // For exponential modes

      DWORD Mode = D3DFOG_EXP;//你也可尝试着设置 Mode = D3DFOG_LINEAR;

      // Enable fog blending.

      g_pDevice->SetRenderState(D3DRS_FOGENABLE, TRUE);

      // Set the fog color.

      g_pDevice->SetRenderState(D3DRS_FOGCOLOR, 0x0f0fff);

      // Set fog parameters.

      if(D3DFOG_LINEAR == Mode)

      {

          g_pDevice->SetRenderState(D3DRS_FOGTABLEMODE, Mode);

          g_pDevice->SetRenderState(D3DRS_FOGSTART, *(DWORD *)(&Start));

          g_pDevice->SetRenderState(D3DRS_FOGEND, *(DWORD *)(&End));

      }

      else

      {

          g_pDevice->SetRenderState(D3DRS_FOGTABLEMODE, Mode);

          g_pDevice->SetRenderState(D3DRS_FOGDENSITY, *(DWORD *)(&Density));

      }

      使用DirectX优化声音特性
      利用Directshow开发源Filter,DShow中实现抓图的几种方法,角色扮演游戏引擎的设计原理,关于飞机射击类游戏的设计原理,游戏引擎剖析(十一),游戏引擎剖析(十),游戏引擎剖析(九),游戏引擎剖析(八),游戏引擎剖析(七),游戏引擎剖析(六),游戏引擎剖析(五),游戏引擎剖析(四),游戏引擎剖析(三),游戏引擎剖析(二),游戏引擎剖析(一),渲染状态管理,对2D游戏引擎设计的一些思考,游戏引擎演化史,网络游戏外挂编写初级教程,j2me游戏开发实例讲解
      游戏开发

    • 0
    • 0
    • 0
    • 74
    • 单栏布局 侧栏位置: