Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: _Grey en 01 de Enero de 1970, 01:00:00 AM

Título: GDI en Direct3D
Publicado por: _Grey en 01 de Enero de 1970, 01:00:00 AM
                                Ahori va y me da por usar el GDI en una aplicacion de Direct3D, pero estoi hecho un lio... se supone que es tan simple como esto, no??  :

char szHello[]="ostras";
PAINTSTRUCT ps;
HDC hdc;
         hdc = BeginPaint(hWnd, &ps);
         // TODO: Add any drawing code here...
         RECT rt;
         GetClientRect(hWnd, &rt);
         DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
         EndPaint(hWnd, &ps);

Esto esta despues del Device->Present(), pero la imagen no se continua refrescando...

Alguien que me pueda aclarar esto o decirme de algun doc que lo trate..

Uso DirectX 8.

Gracias.                                
Título: GDI en Direct3D
Publicado por: sés en 01 de Enero de 1970, 01:00:00 AM
                                  No estoy seguro, pero creo que, en vez de usar BeginPaint(), tiene que utilizar una función de DirectX que hace eso.                                
Título: GDI en Direct3D
Publicado por: fiero en 01 de Enero de 1970, 01:00:00 AM
                                yo con DX7 hago esto, no sé si en DX8 es lo mismo:

      
HDC hDC=NULL;
CDC dc;
m_pSuperficiePosterior->GetDC(&hDC);
if (hDC!=NULL)
{
   dc.Attach(hDC);
   //Aqui todo lo que quieras con el CDC dc
   ...

   m_pSuperficiePosterior->ReleaseDC(dc.Detach());
}


un saludo

PD: Se me olvidaba, GetDC es de IDirectDrawSurface3::GetDC

[ Este Mensaje fue editado por: fiero el 2002-06-08 13:17 ]                                
Título: GDI en Direct3D
Publicado por: _Grey en 01 de Enero de 1970, 01:00:00 AM
                               
Ese es precisamente mi problema....

yo ya habia usado GDI con aplicaciones de DirectX como indica fiero....

pero en DirectX 8, no encuentro GetDC() por ningun lado, tiene que ser otra cosa... usando el BeginPaint() funciona pero pierdo el control del refresco y la animacion no continua......

si alguien sabe algo ....

graciasss.