Paylaşım için teşekkürler.
d3d8 Kullanılan Default senaryoda dwFilter ve 0xffff00ff color key'i koruyalım.
Unlock() fonksiyonunu da şu şekilde:
d3d8 Kullanılan Default senaryoda dwFilter ve 0xffff00ff color key'i koruyalım.
Kod:
bool CGraphicImageTexture::CreateFromMemoryFile(
UINT bufSize,
const void* c_pvBuf,
D3DFORMAT d3dFmt,
DWORD dwFilter)
{
assert(ms_lpd3dDevice != nullptr);
assert(m_lpd3dTexture == nullptr);
static CDXTCImage image;
if (image.LoadHeaderFromMemory(static_cast<const BYTE*>(c_pvBuf)))
{
return CreateDDSTexture(image, static_cast<const BYTE*>(c_pvBuf));
}
D3DXIMAGE_INFO imageInfo{};
if (FAILED(D3DXCreateTextureFromFileInMemoryEx(
ms_lpd3dDevice,
c_pvBuf,
bufSize,
D3DX_DEFAULT,
D3DX_DEFAULT,
D3DX_DEFAULT,
0,
d3dFmt,
D3DPOOL_MANAGED,
dwFilter,
dwFilter,
0xffff00ff,
&imageInfo,
nullptr,
&m_lpd3dTexture)))
{
TraceError("CreateFromMemoryFile: Cannot create texture from memory");
return false;
}
m_width = imageInfo.Width;
m_height = imageInfo.Height;
m_bEmpty = false;
return true;
}
Unlock() fonksiyonunu da şu şekilde:
Kod:
void CGraphicImageTexture::Unlock(int level)
{
if (m_lpd3dTexture)
m_lpd3dTexture->UnlockRect(level);
}
Eline SağlıkPaylaşım için teşekkürler.
d3d8 Kullanılan Default senaryoda dwFilter ve 0xffff00ff color key'i koruyalım.
Kod:bool CGraphicImageTexture::CreateFromMemoryFile( UINT bufSize, const void* c_pvBuf, D3DFORMAT d3dFmt, DWORD dwFilter) { assert(ms_lpd3dDevice != nullptr); assert(m_lpd3dTexture == nullptr); static CDXTCImage image; if (image.LoadHeaderFromMemory(static_cast<const BYTE*>(c_pvBuf))) { return CreateDDSTexture(image, static_cast<const BYTE*>(c_pvBuf)); } D3DXIMAGE_INFO imageInfo{}; if (FAILED(D3DXCreateTextureFromFileInMemoryEx( ms_lpd3dDevice, c_pvBuf, bufSize, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, d3dFmt, D3DPOOL_MANAGED, dwFilter, dwFilter, 0xffff00ff, &imageInfo, nullptr, &m_lpd3dTexture))) { TraceError("CreateFromMemoryFile: Cannot create texture from memory"); return false; } m_width = imageInfo.Width; m_height = imageInfo.Height; m_bEmpty = false; return true; }
Unlock() fonksiyonunu da şu şekilde:
Kod:void CGraphicImageTexture::Unlock(int level) { if (m_lpd3dTexture) m_lpd3dTexture->UnlockRect(level); }
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 3
- Görüntüleme
- 428
- Cevaplar
- 2
- Görüntüleme
- 78
- Kilitli
- Cevaplar
- 7
- Görüntüleme
- 2K
- Kilitli
- Cevaplar
- 1
- Görüntüleme
- 432