Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Goosebrush en 31 de Agosto de 2005, 01:54:35 PM

Título: Visualizar Texto En Directx Y Visual C
Publicado por: Goosebrush en 31 de Agosto de 2005, 01:54:35 PM
 Saludos a todos.

Estoy haciendo una "especie de juego" y tengo una pequeña duda que no se como resolver  (nooo) .

¿Alguien sabe como imprimir texto, ya sean letras o numero bajo un entorno directx?

Tan solo quiero imprimir algo asi como "hola" en el tipo de fuente que sea.

Estoy usando Directx9 y Visual C.

Gracias y saludos.
Título: Visualizar Texto En Directx Y Visual C
Publicado por: TheAzazel en 31 de Agosto de 2005, 02:18:20 PM
 Tengo una clase para dibujar cualquier tipo de fuente en mi libreria pero esta basada en SDL, por lo que sobre DirectX directamente no sirve.

Busca por el google alguna lib de fuentes para DirectX o create una. Por ahi encontraras algunas con soporte TrueType (son lentillas) que hacen mil cosas, antialias, sombreado, alpha blending, etc.. y otras mas sencillas que guardan un bitmap con todas las letras y luego, al escribir la cadena van averiguando que posicion ocupa el caracter dado en el bitmap y van volcando para dibujar. Estas son mas rapidas y te quitas de todos los rollos de copyrights de las truetype...

quizas alguien conozca la lib definitiva para fuentes bajo directx.... espera un poco ya veras, que aqui hay bastante nivel.

saludos
Título: Visualizar Texto En Directx Y Visual C
Publicado por: Lord Trancos 2 en 31 de Agosto de 2005, 02:20:43 PM
 En la libreria D3DX venia un interfaz para trabajar con fuentes truetype, pero ahora mismo no recuerdo el nombre... Era algo asi como ID3DXFont...
Título: Visualizar Texto En Directx Y Visual C
Publicado por: Zaelsius en 31 de Agosto de 2005, 02:31:58 PM
 
Cita de: "Lord Trancos 2"En la libreria D3DX venia un interfaz para trabajar con fuentes truetype, pero ahora mismo no recuerdo el nombre... Era algo asi como ID3DXFont...
D3DXFont, sip. Uno de los cientos de tutoriales http://www.drunkenhyena.com/cgi-bin/view_c...er=3;article=17
Título: Visualizar Texto En Directx Y Visual C
Publicado por: Goosebrush en 31 de Agosto de 2005, 02:35:31 PM
 Esto es velocidad !!!!  (ole)

Muchisimas gracias a todo. Ahora lo probare a ver que tal  ;)  
Título: Visualizar Texto En Directx Y Visual C
Publicado por: Ray en 31 de Agosto de 2005, 03:31:43 PM
 Puedes probar a usar el GDI para texto, yo lo use para no complicarme la vida y me fue siempre bién.

Solo hay que obtener el identificador del buffer trasero, y escribir en él.
No se si es lo más correcto pero rapido y sencillo de implementar sí que es.


// Obtenemos el buffer trasero
LPDIRECT3DSURFACE9 lpDSBackBuffer;
lpDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &lpDSBackBuffer);

// Obtenemos el contexto de dispositivo del buffer trasero
HDC hdc;
if (FAILED(lpDSBackBuffer->GetDC(&hdc))) return FALSE;

// Escribimos
TextOut(hdc, 20,20, "hola",  4);

// Liberamos el contexto de dispositivo
lpDSBackBuffer->ReleaseDC(hdc);

Título: Visualizar Texto En Directx Y Visual C
Publicado por: Ray en 31 de Agosto de 2005, 04:46:48 PM
 Se me olvidó apuntar que para acceder a la superficie trasera hay que crear el Device con el flag D3DPRESENTFLAG_LOCKABLE_BACKBUFFER, si sigue sin funcionar consulta GetDC porque tiene alguna que otra restricción más, aunque son más bien para otro tipo de superficies.
Título: Visualizar Texto En Directx Y Visual C
Publicado por: Goosebrush en 01 de Septiembre de 2005, 11:27:10 AM
 Muchas gracias Ray.

De momento voy a usar la opción que me has comentado que me parece mas facil de implementar. Mas adelante me pondre con la otra ya que me interesa saber como va la D3DXFont.

Un saludo.