Это все еще проблема.Использование точечных спрайтов с прямым x. какие шаги необходимо предпринять?
Я пытаюсь получить точечную систему спрайтов, выставляющую солнце в моем мире. Я заметил, что другой пользователь задал аналогичный вопрос (с тем же кодом, предположительно из моего класса :)), но они не смогли это завершить. Мой текущий код этого заключается в следующем:
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);
Я не вижу мое солнце на экране, и это, кажется, делает альфа смесь на остальной части моего мира, а не на любом солнце, я пытаюсь загрузить. Может ли это быть из-за того, какие устройства я использую? Любая помощь будет принята с благодарностью :)
Aack! Пожалуйста, сохраните LudoRenderer :: GetInstance() -> GetDevice() где-то перед моими глазами. – Justicle
Понятно: P – Mark
Пропустили ли вы через PIX, что происходит, когда вы во время вызова DrawPrimitive? – Anteru