c++ - 启用 Direct3D 特定功能(透明 AA)

标签 c++ transparency direct3d antialiasing ogre3d

我正在尝试启用 transparency antialiasing在我的 Ogre-Direct3D 应用程序中,但它无法正常工作。

HRESULT hres = d3dSystem->getDevice()->SetRenderState(D3DRS_ADAPTIVETESS_Y, (D3DFORMAT)MAKEFOURCC('S', 'S', 'A', 'A'));
/// returned value : hres == S_OK !

此方法取自NVidia's technical report .

可以通过 NVIDIA 控制面板手动启用透明度 AA,但我肯定不能要求我的用户这样做。有人有什么想法吗?

谢谢你的时间,

比尔

最佳答案

下次遇到此类问题时,请务必调试当前处于事件状态的状态等。

例如,您可以启用 direct3D Debug模式并启用状态更改日志记录。 如此处所示:http://blog.rthand.com/post/2010/10/25/Capture-DirectX-1011-debug-output-to-Visual-Studio.aspx

希望对你有帮助, 干杯, 滚

关于c++ - 启用 Direct3D 特定功能(透明 AA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2522934/

相关文章:

c++ - 如何实现应用程序事件记录器

c++ - 在函数对象中包装模板或重载函数的最简洁和可重用的方式

c++ - ClearType 破坏透明度

crash - DirectX 应用程序导致计算机崩溃

c++ - 我可以告诉 direct3d 使用 alpha channel 渲染吗?

c++ - 从构造函数中的 catch block 调用析构函数安全吗?

c++ - 如何以编程方式检测当前系统上是否安装了 MSMQ?

html - 透明 block 中的非透明图像

OpenGL:尽管透明度设置为 1.0,但仍能看到对象的内部

c++ - HLSL 常量缓冲区中数组的意外大小