Miten voin syöttää DirectX9:n tekstuurille pikselin kohtaan x, y (tai u, v)jonka väri on c? Miten ylipäätänsä pystyy muokkaamaan tekstuuria lataamatta uutta kuvaa tiedostosta?
En tiedä, mutta kerronpa kuitenkin. Lisätietoja MSDN:stä, VC++:n helpistä ja DX90SDK:n Helpistä.
IDirect3DTexture9 *Tekstuuri; IDirect3DSurface9 *Pinta; HDC hdc; D3DSURFACE_DESC Desc; //================================ Tekstuuri->GetSurfaceLevel(0, &Pinta); // Haetaan tekstuurin 0. taso Pinta->GetDC(&hdc); // Haetaan HDC SetPixel(hdc, X, Y, Color); // GDI:n pikselinpiirto Pinta->ReleaseDC(hdc); // Muistetaan vapauttaa HDC //================================ // Tällä voi luoda tekstuurin HRESULT WINAPI D3DXCreateTexture( LPDIRECT3DDEVICE9 pDevice, UINT Width, UINT Height, UINT MipLevels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, LPDIRECT3DTEXTURE9 *ppTexture ); // Tähän kannattaa ehkä tutustua, ettei tarvitse käyttää GDI:n SetPixeliä ja HDC-systeemeitä: HRESULT IDirect3DDevice9::SetRenderTarget( DWORD RenderTargetIndex, IDirect3DSurface9 *pRenderTarget );
Aihe on jo aika vanha, joten et voi enää vastata siihen.