启用 Direct3D 特定功能(透明度 AA)
我正在尝试启用透明度抗锯齿我的 Ogre-Direct3D 应用程序,但它无法工作。
HRESULT hres = d3dSystem->getDevice()->SetRenderState(D3DRS_ADAPTIVETESS_Y, (D3DFORMAT)MAKEFOURCC('S', 'S', 'A', 'A'));
/// returned value : hres == S_OK !
该方法取自NVidia的技术报告。
我可以通过 NVIDIA 控制面板手动启用透明度 AA,但我当然不能要求我的用户这样做。有人有什么想法吗?
谢谢你的宝贵时间,
比尔
I am trying to enable transparency antialiasing in my Ogre-Direct3D application, but it just won't work.
HRESULT hres = d3dSystem->getDevice()->SetRenderState(D3DRS_ADAPTIVETESS_Y, (D3DFORMAT)MAKEFOURCC('S', 'S', 'A', 'A'));
/// returned value : hres == S_OK !
This method is taken from NVidia's technical report.
I can enable transparency AA manually through the NVIDIA Control Panel, but surely I can't ask my users to do it like this. Anyone has any idea?
Thank you for your time,
Bill
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
下次遇到此类问题时,请务必调试当前处于活动状态的状态等。
例如,您可以启用 direct3D 调试模式并启用状态更改日志记录。
如图所示: http://blog.rthand.com/post/2010/10/25/Capture-DirectX-1011-debug-output-to-Visual-Studio.aspx
希望有帮助,
干杯,
罗尔
Next time you have this kind of a problem, be sure to debug what states are currently active et al.
For example you could enable direct3D debug mode and enable state changes logging.
As shown here: http://blog.rthand.com/post/2010/10/25/Capture-DirectX-1011-debug-output-to-Visual-Studio.aspx
Hope that helps,
Cheers,
Roel