d3d贴图,部分机器有锯齿,部分平滑显示
时间:2011-08-09
来源:互联网
同样的代码到7台不同的机器上,4台显示有锯齿,3台平滑显示。
平滑显示效果:

出现锯齿:

该代码取显卡支持的最大抗锯齿模式:
C/C++ code
问题是同样的MultiSampleType=8,MultiSampleQuality =2的机器有的能平滑,有的有锯齿,
而有的MultiSampleQuality=4,MultiSampleQuality =0的机器却能平滑显示贴图。
这是什么原因呢?
源码:http://download.csdn.net/source/3508056
平滑显示效果:

出现锯齿:

该代码取显卡支持的最大抗锯齿模式:
C/C++ code
DWORD dwQualityLevel = 0, dwQualityLevelDepth = 0; for (int i = D3DMULTISAMPLE_16_SAMPLES; i > D3DMULTISAMPLE_NONE; --i) { if( SUCCEEDED(d3d9->CheckDeviceMultiSampleType( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_A8R8G8B8, windowed, (D3DMULTISAMPLE_TYPE)i, &dwQualityLevel)) && SUCCEEDED(d3d9->CheckDeviceMultiSampleType( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_D24S8, windowed, (D3DMULTISAMPLE_TYPE)i, &dwQualityLevelDepth))) { d3dpp.MultiSampleType = (D3DMULTISAMPLE_TYPE)i; d3dpp.MultiSampleQuality = min(dwQualityLevel, dwQualityLevelDepth) - 1; cout<<"Support multi sample level "<<i<<", quality level "<<dwQualityLevel<<","<<dwQualityLevelDepth<<endl; break; } } hr = d3d9->CreateDevice(D3DADAPTER_DEFAULT, deviceType, hwnd, vp, &d3dpp, device);
问题是同样的MultiSampleType=8,MultiSampleQuality =2的机器有的能平滑,有的有锯齿,
而有的MultiSampleQuality=4,MultiSampleQuality =0的机器却能平滑显示贴图。
这是什么原因呢?
源码:http://download.csdn.net/source/3508056
作者: huangzeyy 发布时间: 2011-08-09
要根据实际的显卡来设置多重采样
作者: ilysony 发布时间: 2011-08-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28