2009-07-27 15 views

Respuesta

5

No hay una forma incorporada de renderizar texto en OpenGL sino dos técnicas más o menos comunes: renderizar los glifos usando geometría (menos común) o usar mapeo de texturas (mucho más común) Para su mapeo de texturas de casos sería muy fácil: configure un CGBitmapContext y renderice el texto usando Quartz. Luego cargue la imagen en la textura generada previamente usando glTexSubImage2D.

En el iPhone también puede colocar un UILabel encima de su vista de OpenGL y dejar que UIKit realice la representación. En mi aplicación, esto no tocó en absoluto el rendimiento (aunque Apple afirma que sí).

+0

¿cómo superpongo el UILabel sobre la vista de OpenGL? –

+0

Solo agréguelo como una subvista: '[myGLView addSubview: myUILabel];' –

+0

AAAAAH !! ¿Un widget en la parte superior de su subvista? – bobobobo

3

Puede usar un Texture2D y el método initWithString para dibujar texto en OpenGL. Consulte el ejemplo del bloqueo de seguridad que se incluye en el iphone sdk.

También podría usar un UILabel y tenerlo encima de la capa de OpenGL.

+0

¿sabes dónde puedo obtener la fuente necesaria? –

+0

nvm lol encontré la lista de nombres de fuentes en google = p –

3

Como dije antes, Texture2D es una buena idea, pero Crash Landing fue eliminado de muchos lugares en Apple, lo que podría hacer es descargar el Cocos2d y luego extraer la clase Texture2D proporcionada allí (es la misma clase) proporcionado por Apple, pero con un par de cosas más) Cocos 2D for iPhone

Cuestiones relacionadas