私はサードパーティの関数から、画素(ARGB)にコピー表面(D3DFMT_A8R8G8B8とOffScreenPlainまたはレンダーターゲット)を有します。ピクセルコピーの前に、ビットはLockRectによってアクセスされます。D3D9アルファブレンディングは
この表面は、その後、(D3DFMT_A8R8G8B8)であるバックバッファにStretchRectあります。 SurfaceとBackbufferは異なる次元です。フィルタリングはD3DTEXF_NONEに設定されます。
だけD3Dデバイスを作成した後、私は
D3DRS_ALPHABLENDENABLE -> TRUE
D3DRS_BLENDOP -> D3DBLENDOP_ADD
D3DRS_SRCBLEND -> D3DBLEND_SRCALPHA
D3DRS_DESTBLEND -> D3DBLEND_INVSRCALPHA
次RenderStateの設定を設定しました。しかし私は、アルファブレンディングが起こっていない参照してください。私はアルファがピクセルで指定されていることを確認しました。
Iは、頂点バッファを作成し、アルファブレンドで表示三角形(DrawPrimitive)を描画することにより、簡単なテストを行ってきました。この試験面において
はStretchRectアルファブレンディングとアルファブレンディングを有する三角形が表示させずに第一及びその後DrawPrimitive、および表面コンテンツが表示されました。
私はここで何が欠けていますか?あなたが言及したおかげ