Estoy utilizando MFC y quiero copiar de una surface a un CDC de la función OnPaint de MFC.
¿Cómo puedo hacerlo?
Lo preguntaré de otro forma:
¿Cómo puedo obtener el DC de una surface de DX8?
Hola Haddd,
parece que nadie contesta, por lo que deduzco que nadie se plantea estas cosas o que no se puede hacer con DX8.1 :-?
Como parece ser que han eliminado la función GetDC, ya que pertenecía a DirectDraw, ya no se puede obtener directamente.
Lo único que se me ocurre es usar IDirect3DDevice8::GetBackBuffer y luego IDirect3DSurface8::LockRect para sacar los datos "a mano" a un CDC, creado con cdc.CreateCompatibleDC() y CreateDIBSection(...). Pero claro, esto implicaria tener el backBuffer en memoria de sistema para poder hacer el Lock...
Yo usaba GetDC() con DX7 para sacar texto por pantalla, con la función CDC.TextOut, ¿Esto ya no se puede hacer con DX8.1? :-?
un saludo
Creo que con DX9 esto se solventa, porque vaya....!!!!¡Jodienda!!! En fin, habrá que esperar.
Tal como decias Haddd, la clase IDirect3DSurface9 trae un metodo GetDC(), parece que se han dado cuenta de lo util que puede ser :D
un saludo