Como faço para usar glutBitmapString () em C ++ para desenhar o texto para a tela?

StackOverflow https://stackoverflow.com/questions/544079

  •  23-08-2019
  •  | 
  •  

Pergunta

Eu estou tentando desenhar o texto para a tela usando GLUT em 2D.

Eu quero usar glutBitmapString (), alguém pode me mostrar um exemplo simples do que você tem que fazer para configurar e usar corretamente este método em C ++ para que eu possa desenhar uma cadeia arbitrária em uma posição (X, Y)

glutBitmapString(void *font, const unsigned char *string); 

Eu estou usando linux, e eu sei que eu preciso para criar um objeto Font, embora eu não sei exatamente como e posso fornecê-lo com a corda como o segundo argumento. No entanto, como eu também especificar o x / y posição?

Um rápido exemplo de isso iria me ajudar muito. Se você pode me mostrar de criar a fonte, ao chamar o método que seria melhor.

Foi útil?

Solução

Você tem que usar glRasterPos para definir a posição raster antes de chamar glutBitmapString(). Note-se que cada chamada para glutBitmapString() avança a posição raster, assim várias chamadas consecutivas irá imprimir as cordas um após o outro. Você também pode definir a cor do texto usando glColor() . O conjunto de fontes disponíveis são listados aqui .

// Draw blue text at screen coordinates (100, 120), where (0, 0) is the top-left of the
// screen in an 18-point Helvetica font
glRasterPos2i(100, 120);
glColor4f(0.0f, 0.0f, 1.0f, 1.0f);
glutBitmapString(GLUT_BITMAP_HELVETICA_18, "text to render");

Outras dicas

Adicionando a resposta de Adão,

glColor4f(0.0f, 0.0f, 1.0f, 1.0f);  //RGBA values of text color
glRasterPos2i(100, 120);            //Top left corner of text
const unsigned char* t = reinterpret_cast<const unsigned char *>("text to render");
// Since 2nd argument of glutBitmapString must be const unsigned char*
glutBitmapString(GLUT_BITMAP_HELVETICA_18,t);

Confira https://www.opengl.org/resources /libraries/glut/spec3/node76.html para mais opções de fonte

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top