opengl 텍스트 예제

큰 텍스트가 필요한 경우 이 밸브 문서도 참조하십시오. 색상 및 / 또는 투명 텍스트를 렌더링하는 것은 간단합니다, 우리는 단지 우리의 취향에 균일 한 색상을 변경 : 즉, 우리는 여전히 OpenGL로 텍스트를 그릴 수 있습니다. 텍스트를 그리려면 글꼴을 읽고 OpenGL에서 사용할 수 있는 형식으로 변환하는 방법이 필요합니다. 대부분의 운영 체제에는 표준 글꼴을 읽을 수 있는 방법이 있지만 이 작업을 수행할 수 있는 라이브러리도 많이 있습니다. 아주 좋은, 잘 알려진, 크로스 플랫폼 라이브러리는 FreeType입니다. TrueType 및 OpenType을 포함하여 많은 글꼴 형식을 지원합니다. 함수 render_text()는 렌더링할 문자열, x 및 y 시작 좌표, x 및 y 배율 매개변수 등 5개의 인수를 사용합니다. 마지막 두 개의 화면 픽셀이 하나의 화면 픽셀에 해당하도록 선택해야 합니다. 전체 화면을 그리는 display() 함수를 살펴보겠습니다: 그런데 라틴 알파벳만 처리하기 때문에 프로덕션에 이 코드를 사용하지 마십시오. 또는 인도, 중국, 일본 (또는 독일에 아무것도 판매하지 마십시오,이 이미지에 ß가 없기 때문에). 이 텍스처는 주로 프랑스에서 작동합니다 (에, à, ç 등을 알 수 있음) 내 로캘에서 생성되었기 때문입니다.

그리고 라이브러리를 사용할 때의 다른 자습서에서 코드를 조정하는 동안 조심, 그들 대부분은 호환되지 않는 OpenGL 2를 사용합니다. 불행히도 UTF-8을 처리하는 충분한 라이브러리를 모른다. 또한 결합된 정점 및 텍스처 좌표에 대한 정점 버퍼 개체를 설정해야 합니다. 가장 중요한 것은 모든 캐릭터의 회색 크기 이미지를 제공한다는 것입니다. 이 자습서에서는 사용할 텍스트 그리기 메서드에 필요한 기능입니다. 이 텍스처는 글꼴에서 텍스처를 생성하는 많은 도구 중 하나인 CBFG를 사용하여 생성되었습니다. 그런 다음 빨간색 배경을 추가 한 Paint.NET 가져 온 다음 (시각화 목적으로만 : 빨간색을 볼 수있는 모든 곳에서 투명해야합니다). 비트맵 글꼴은 기본적으로 2D 글꼴입니다. 회전하거나 배율을 조정할 수 없으며 변환만 할 수 있습니다.

이러한 유형의 글꼴은 2D 게임이 뷰어의 현재 점수 또는 수준을 표시하는 데 적합합니다. 비트맵 글꼴을 그리는 기능은 텍스트 렌더링의 경우 일반적으로 매우 기본적인 차체에 정착할 수 있습니다. 텍스트는 기본적으로 2차원이므로 정점의 경우 특성 vec2를 사용하고 텍스처 좌표에는 다른 특성 vec2를 사용할 수 있습니다. 그러나 정점과 텍스처 좌표를 단일 4차원 벡터로 결합하고 정점 샤더를 두 개로 분할할 수도 있습니다.

Comments

Comments are closed.