admin
管理员
管理员
  • UID1
  • 注册日期2011-05-18
  • 最后登录2022-08-22
  • 粉丝94
  • 关注0
  • 发帖数1061
  • QQ
  • 铜币1232枚
  • 威望8点
  • 银元1218个
阅读:2494回复:3

【源码编辑】飞飞多采样抗锯齿设置

楼主#
更多 发布于:2012-10-07 12:43

老外论坛的,不知道效果如何,我的电脑也看不出有啥变化- -

-----------------------

 d3dapp.cpp

-----------------------

找到:

#ifdef __XUZHU
#if 0
    // Create the device
    hr = m_pD3D->CreateDevice( m_pD3D->GetAdapterCount()-1, D3DDEVTYPE_REF,
m_hWndFocus, behaviorFlags, &m_d3dpp,
&m_pd3dDevice );

在第二个#else 下面的代码

 

hr = m_pD3D->CreateDevice( m_d3dSettings.AdapterOrdinal(), pDeviceInfo->DevType, m_hWndFocus, behaviorFlags, &m_d3dpp, &m_pd3dDevice );
替换为:

DWORD MSQuality = 0;
D3DMULTISAMPLE_TYPE MSType = D3DMULTISAMPLE_NONE;
if( SUCCEEDED( m_pD3D->CheckDeviceMultiSampleType(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_A8R8G8B8, TRUE, D3DMULTISAMPLE_8_SAMPLES, &MSQuality) ))
MSType = D3DMULTISAMPLE_8_SAMPLES;
else if( SUCCEEDED( m_pD3D->CheckDeviceMultiSampleType(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_A8R8G8B8, TRUE, D3DMULTISAMPLE_4_SAMPLES, &MSQuality) ))
MSType = D3DMULTISAMPLE_4_SAMPLES;
else if( SUCCEEDED( m_pD3D->CheckDeviceMultiSampleType(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_A8R8G8B8, TRUE, D3DMULTISAMPLE_2_SAMPLES, &MSQuality) ))
MSType = D3DMULTISAMPLE_2_SAMPLES;
int MSQ = MSQuality - 1;

// --------------------------------------------------------------
// ... Below Will Display a message box on Start-Up with the AntiAliasing
// ... Multisample level Your Graphics card can handle .
// ---------------------------------------------------------------
// char msaaText[128];
// sprintf( msaaText, "Multi Sample Type = x%d", MSType );
// MessageBox( NULL, msaaText, "MSAA AMOUNT", MB_OK );
// -------------------------------------------------------------------

m_d3dpp.SwapEffect      = D3DSWAPEFFECT_DISCARD;
m_d3dpp.MultiSampleType = MSType;
m_d3dpp.MultiSampleQuality = MSQ;
m_d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
m_d3dpp.EnableAutoDepthStencil = TRUE;
m_d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
m_d3dpp.Flags = 0;
m_d3dpp.FullScreen_RefreshRateInHz      = D3DPRESENT_RATE_DEFAULT;
m_d3dpp.PresentationInterval                  = D3DPRESENT_INTERVAL_DEFAULT;

hr = m_pD3D->CreateDevice( m_d3dSettings.AdapterOrdinal(), pDeviceInfo->DevType,
m_hWndFocus, behaviorFlags, &m_d3dpp,
&m_pd3dDevice );


m_pd3dDevice->SetRenderState(D3DRS_MULTISAMPLEANTIALIAS, TRUE);
m_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, TRUE);
m_pd3dDevice->SetRenderState(D3DRS_ALPHAFUNC, D3DCMP_GREATEREQUAL);
m_pd3dDevice->SetRenderState(D3DRS_ALPHAREF, (DWORD)8);
m_pd3dDevice->SetRenderState(D3DRS_ALPHATESTENABLE, TRUE);

完了!

最新喜欢:

学学飞飞单机学学飞飞单机
哎...今天够累的,签到来了3...
lansky
4级·生命之泉
4级·生命之泉
  • UID25527
  • 注册日期2012-08-16
  • 最后登录2022-06-20
  • 粉丝10
  • 关注1
  • 发帖数337
  • QQ
  • 铜币110枚
  • 威望-2点
  • 银元341个
沙发#
发布于:2013-03-13 22:16
测试完毕!
具体效果:模型周边的棱角去除。用元棱角代替。
综合性能:性能不进行增大。但是会增加处理时间(可以处理、读取同时进行、所以不影响吧)
测试显卡:华硕 GTX680 DirectCU II TOP
DX版本:DirectX 11
附加特效软件:NVIDIA SLI、PhysX
游戏特效:增加V19的高清游戏模型文理。禁止游戏跳帧。
人物效果图:(不太明显)
使用前:

图片:_~26(_2QFM2%XW[Y(9C1RXC.jpg


使用后:

图片:_~26(_2QFM2%XW[Y(9C1RXC.bmp


武器效果图:(明显)
使用前:

使用后:
[img]file:///C:\Documents and Settings\Administrator\Application Data\Tencent\Users\1021066096\QQ\WinTemp\RichOle\_~26(_2QFM2%XW[Y(9C1RXC.jpg[/img]
[img]file:///C:\Documents and Settings\Administrator\Application Data\Tencent\Users\1021066096\QQ\WinTemp\RichOle\_~26(_2QFM2%XW[Y(9C1RXC.jpg[/img]

lansky
4级·生命之泉
4级·生命之泉
  • UID25527
  • 注册日期2012-08-16
  • 最后登录2022-06-20
  • 粉丝10
  • 关注1
  • 发帖数337
  • QQ
  • 铜币110枚
  • 威望-2点
  • 银元341个
板凳#
发布于:2013-03-13 22:17
坑爹!人物特效两张图片弄反了。。。
lansky
4级·生命之泉
4级·生命之泉
  • UID25527
  • 注册日期2012-08-16
  • 最后登录2022-06-20
  • 粉丝10
  • 关注1
  • 发帖数337
  • QQ
  • 铜币110枚
  • 威望-2点
  • 银元341个
地板#
发布于:2013-03-13 22:38
完了。我也弄不清反不反了。。。。大家帮我辨别一下吧。
游客

返回顶部