타사 함수에서 픽셀 (ARGB)을 복사하는 표면 (OffScreenPlain 또는 RenderTarget with D3DFMT_A8R8G8B8)이 있습니다. 픽셀 복사 이전에, 비트는 LockRect에 의해 액세스된다.D3D9 알파 서페이스에서 블렌딩
이 표면은 (D3DFMT_A8R8G8B8) 인 Backbuffer에 대한 StretchRect입니다. Surface와 Backbuffer는 서로 다른 차원입니다. 필터링은 D3DTEXF_NONE으로 설정됩니다.
그냥 D3D 장치를 생성 한 후 나는 다음과 같은 설정 한 렌다 설정
D3DRS_ALPHABLENDENABLE -> TRUE
D3DRS_BLENDOP -> D3DBLENDOP_ADD
D3DRS_SRCBLEND -> D3DBLEND_SRCALPHA
D3DRS_DESTBLEND -> D3DBLEND_INVSRCALPHA
는하지만 알파 블렌딩이 발생하지 않습니다를 참조하십시오. 알파가 픽셀 단위로 지정되었는지 확인했습니다.
필자는 정점 버퍼를 만들고 알파 블렌딩으로 표시되는 삼각형 (DrawPrimitive)을 그리는 간단한 테스트를 수행했습니다.
이 테스트 표면에는 StretchRect가 먼저 있고 그 다음에 DrawPrimitive가 있었으며 표면 내용은 알파 블렌딩없이 표시되고 삼각형은 알파 블렌딩으로 표시됩니다.
무엇이 여기에 있습니까? 감사합니다