C++ LPDIRECT3DDEVICE9清除alpha在多脚本项目中不工作

C++ LPDIRECT3DDEVICE9清除alpha在多脚本项目中不工作,c++,direct3d,C++,Direct3d,我创建了一个Direct3D设备,并有一个渲染循环,首先使用以下代码将窗口清除为透明红色: d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(100, 255, 0, 0), 1.0f, 0); 这非常有效,但仅当出于某种原因在入口点脚本中创建它时。当尝试在不同的脚本中执行完全相同的操作并在由我的入口点脚本的WinMain调用的函数中创建Direct3D窗口时,Direct3D的alpha通道失败,并显示纯红色。WindowPro

我创建了一个Direct3D设备,并有一个渲染循环,首先使用以下代码将窗口清除为透明红色:

d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(100, 255, 0, 0), 1.0f, 0);
这非常有效,但仅当出于某种原因在入口点脚本中创建它时。当尝试在不同的脚本中执行完全相同的操作并在由我的入口点脚本的WinMain调用的函数中创建Direct3D窗口时,Direct3D的alpha通道失败,并显示纯红色。WindowProc函数对于单脚本Direct3D窗口和多脚本Direct3D窗口都是相同的

我希望我可以检查一些东西,而不需要在这里发布代码,但如果需要,我可以创建两个的最小版本来发布


非常感谢您的帮助

你说的“剧本”是什么意思?这起作用和不起作用的区别到底是什么
Clear
将后缓冲区的每个像素设置为颜色,它不会混合颜色,因此不清楚为什么不总是看到纯红色。另一个脚本是同一名称空间中的静态类。我不知道怎么做,但在入口点脚本中创建DirectX层时,alpha通道确实适合我。