これはまだ未解決の問題です。
私は自分の世界で太陽をレンダリングするポイント スプライト システムを機能させようとしています。別のユーザーが同様の質問をしているのに気付きました (おそらく私のクラスからの同じコードで:))が、彼らはこれを完了することができませんでした。これに対する私の現在のコードは次のとおりです。
float fPointSize = 10.0f,fPointScaleB = 100.0f;
IDirect3DDevice9 *m_Device = LudoRenderer::GetInstance()->GetDevice(); m_Device->SetRenderState(D3DRS_POINTSPRITEENABLE,true); m_Device->SetRenderState(D3DRS_POINTSCALEENABLE,true);
m_Device->SetRenderState(D3DRS_POINTSIZE,
*((DWORD*)&fPointSize));
m_Device->SetRenderState(D3DRS_POINTSCALE_B,
*((DWORD*)&fPointScaleB));
m_Device->SetRenderState(D3DRS_ALPHABLENDENABLE,true);
m_Device->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_ONE);
m_Device->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_ONE);
std::wstring hardcoded = L"..\\Data\\sun.png";
m_SunTexture = LudoTextureManager::GetInstance()->GetTextureData(hardcoded.c_str()).m_Texture;
m_Device->SetTexture(0,m_SunTexture);
m_Device->DrawPrimitive(D3DPT_POINTLIST,0,12);
画面に太陽が表示されません。ロードしようとしている太陽ではなく、世界の残りの部分でアルファ ブレンドを行っているようです。これは、使用しているデバイスが原因である可能性がありますか? どんな助けでも大歓迎です:)