2013-01-01 5 views
2

간단한 질문이 있습니다. 내 게임 응용 프로그램에서 내 PixmapFont을 그리기 위해 FTGL 라이브러리를 사용하고 있습니다. 제 질문은 - glScalef()을 사용하여 래스터 글꼴의 크기를 조절할 수 있습니까? 내가 이해하는 바에는 대신 glRasterPos()을 사용해야하는 경우 glScalef()이 아마도 기능한다고 생각합니까? 그렇다면이 글꼴을 크기 조정할 방법이 없습니까? 간단하게이를 넣어, 나는 그것의 크기를 변경할 수 있습니다래스터 글꼴 용 glScalef, OpenGL

:

이 내가 스케일링 필요가 무엇

font->FaceSize(12); 

를하지만 나에게 그런 작은 글꼴에 대한 흐릿한 효과를 제공합니다. 어딘가에서 읽은 것부터 큰 글꼴로 글꼴을 렌더링하는 것이 좋습니다. 72 - 그리고 더 나은 결과를 제공하기 때문에 그것을 축소 할 수 있습니다.

답변

1

픽스맵 (래스터) 글꼴 대신 texture fonts을 사용해야합니다. 이렇게하면 삼각형 기본 요소에 매핑 된 텍스처로 글꼴이 그려 지므로 프레임 버퍼에 직접 그리는 것보다 훨씬 유연하고 널리 지원됩니다. FTTextureFont documentation도 참조하십시오.

이 방법은 단지 OpenGL 프리미티브를 렌더링하기 때문에 glTranslatef, glScalef 등으로 설정 한 모든 일반적인 변환을 고려합니다. 가장 깨끗한 결과를 얻으려면 glOrtho을 사용하여 픽셀 완전 투영 행렬을 설정하십시오.

+0

감사합니다, 토마스. 픽스맵 글꼴이 좋은 선택인지 궁금 해서요. 이제 나는 그렇지 않다는 것을 안다. –

2

OpenGL 비트 맵 드로잉 기능 (glBitmap)은 프레임 버퍼에 직접 연결되므로 변환 파이프 라인의 영향을받지 않습니다. 그러나 비트 맵 그리기 기능은 항상 느리고 지원이 미흡하며 이후 버전의 OpenGL에서 완전히 제거되었습니다.

+0

보통 - 매우 도움이됩니다. 고마워요. –