Onko DirectX:llä (9/10) mitenkään mahdollista muokata "screen bufferia" eli sitä, joka sisältää kaikki näytöllä esitettävät pikselit?
Jos takapuskuri mitenkään kelpaa, kannattaa varmaan kokeilla funktioita IDirect3DDevice9::GetBackBuffer, IDirect3DSurface9::GetDC ja IDirect3DSurface9::ReleaseDC (tässä järjestyksessä). En tiedä DirectX:stä juurikaan, joten on aivan mahdollista, ettei takapuskuria saa noin lukittua. Jos tuo kuitenkin onnistuu, niin GetDC:n ja ReleaseDC:n välissä voisi lukea ja piirtää tavallisilla GDI-funktioilla (mm. GetPixel ja SetPixel sekä kaikenlaiset tehokkaammat vaihtoehdot).
Voitko tarkentaa, mitä yrität tehdä?
Netistä hakemalla löydät Direct Draw tutoriaaleja ja ohjeita siihen, miten käsitellä primary surfacea (se, mitä näkyy näytöllä) ja miten hyödyntää back bufferia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.