我有一个基于C++ DirectX的第三方游戏引擎编译成Windows运行时组件DLL.我正在努力将它集成到一个基于Windows Direct3D和XAML应用程序的项目中。游戏引擎DLL使用应用程序的Direct3DBackplace::D3D ()方法提供的设备、上下文和呈现视图纹理。
样本中内置的渲染器已经消失,并被游戏引擎所取代。
我可以渲染,但有持续的黑色闪烁。其他帧都是黑色的。为了证明它不是渲染器(已经在其他地方被证明是有效的),我从游戏引擎DLL中删除了所有的渲染代码,只需设置一个清晰的颜色。结果仍然一样。
起初,我认为这是因为由示例生成的Direct3DXamlAppComponent可能运行在与游戏引擎DLL不同的线程中,但事实并非如此。他们在同一条线上。
我还没试过的事情:
发布于 2012-11-16 20:00:12
问题来自于呈现目标视图。我没有意识到指向它的指针每帧都会被更新。我刚一开始就把它设置为游戏引擎渲染器。现在,我更新每个帧的呈现视图目标指针,现在黑色闪烁消失了。
https://stackoverflow.com/questions/13420042
复制相似问题