C ++에서 glutbitmapstring ()을 사용하여 화면에 텍스트를 그리는 방법은 무엇입니까?

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

  •  23-08-2019
  •  | 
  •  

문제

2D에서 glut를 사용하여 화면에 텍스트를 그려 보려고합니다.

glutbitmapstring ()을 사용하고 싶습니다. 누군가가 C ++ 에서이 방법을 설정하고 올바르게 사용하여 (x, y) 위치에서 임의의 문자열을 그릴 수있는 간단한 예를 보여줄 수 있습니까?

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

나는 Linux를 사용하고 있으며 글꼴 객체를 만들어야한다는 것을 알고 있습니다. 비록 정확히 어떻게 어렵고 두 번째 논쟁으로 문자열을 공급할 수 있는지 확실하지 않습니다. 그러나 x/y 위치도 어떻게 지정합니까?

이것의 빠른 예는 저를 크게 도움이 될 것입니다. 글꼴 생성에서 가장 좋은 방법을 호출하는 것까지 보여줄 수 있다면.

도움이 되었습니까?

해결책

당신은 사용해야합니다 glRasterPos 호출하기 전에 래스터 위치를 설정합니다 glutBitmapString(). 각 호출에 유의하십시오 glutBitmapString() 래스터 위치를 발전 시키므로 여러 연속 통화가 문자열을 서로 인쇄합니다. 사용하여 텍스트 색상을 설정할 수도 있습니다 glColor(). 사용 가능한 글꼴 세트가 나열됩니다 여기.

// 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");

다른 팁

Adam의 답변에 추가,

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);

체크 아웃 https://www.opengl.org/resources/libraries/glut/spec3/node76.html 더 많은 글꼴 옵션

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top