Opentk를위한 최신 OpenGL 텍스트 렌더링 라이브러리.
Swax/Quickfont Library에서 포크. 오리지널 라이브러리 Qfont
Nuget을 통해이 라이브러리를 설치할 수 있습니다.
QuickFont는 Windows, Linux 및 OSX에서 테스트 및 실행되었습니다.
최소 지원되는 OpenGL 버전은 3.0입니다
참고 예제 프로젝트는 OSX에서 올바르게 빌드하도록 변경해야합니다. 기본적으로 Apple은 특정 버전이 지정되지 않은 경우 OpenGL 2.1 컨텍스트를 반환하기 때문입니다.
game.cs 생성자를 다음과 같이 교체하십시오.
public Game ( )
: base ( 800 , 600 , GraphicsMode . Default , "QuickFont Example" , GameWindowFlags . Default , DisplayDevice . Default , 3 , 2 , GraphicsContextFlags . Default )OpenGL 버전> = 3.2 (일반적으로 4.1)를 선택합니다.
FreeTypeFont 사용되면 Kerning 정보가 Freetype에서로드되었습니다.QFontDrawing IDisposable 구현하지 않음을 수정했습니다QVertexArrayObject 에서 개선 된 폐기 일부 onload () 메소드에서 qfont 및 qfontdrawing을 만듭니다.
_myFont = new QFont ( "Fonts/HappySans.ttf" , 72 , new QFontBuilderConfiguration ( true ) ) ;
_myFont2 = new QFont ( "basics.qfont" , new QFontBuilderConfiguration ( true ) ) ;
_drawing = new QFontDrawing ( ) ;일부 인쇄 방법을 호출하거나 스스로 드로잉 프리미티브를 만듭니다. 그림에 추가하십시오.
_drawing . DrawingPrimitives . Clear ( ) ;
_drawing . Print ( _myFont , "text1" , pos , FontAlignment . Left ) ;
// draw with options
var textOpts = new QFontRenderOptions ( )
{
Colour = Color . FromArgb ( new Color4 ( 0.8f , 0.1f , 0.1f , 1.0f ) . ToArgb ( ) ) ,
DropShadowActive = true
} ;
SizeF size = _drawing . Print ( _myFont , "text2" , pos2 , FontAlignment . Left , textOpts ) ;
var dp = new QFontDrawingPrimitive ( _myFont2 ) ;
size = dp . Print ( text , new Vector3 ( bounds . X , Height - yOffset , 0 ) , new SizeF ( maxWidth , float . MaxValue ) , alignment ) ;
drawing . DrawingPrimitives . Add ( dp ) ;
// after all changes do update buffer data and extend it's size if needed.
_drawing . RefreshBuffers ( ) ;그런 다음 드로우 루프에서 :
_drawing . ProjectionMatrix = proj ;
_drawing . Draw ( ) ;
SwapBuffers ( ) ;프로그램이 끝나면 QuickFont 리소스를 처리합니다.
protected virtual void Dispose ( bool disposing )
{
_drawing . Dispose ( ) ;
_myFont . Dispose ( ) ;
_myFont2 . Dispose ( ) ;
}자세한 내용은 포함 된 예제 프로젝트를 참조하십시오!
다음은 QuickFont에 기여한 사람들의 비수부 목록입니다.
James Lohr- 오리지널 도서관 제작자 (http://www.opentk.com/project/quickfont)
John (Swax) Marshall- 정점 버퍼 지지대가 추가되었습니다
PATRICK (OPCON) YATES- 현재 관리자
Robertofon- 리팩토링 된 모 놀리 식 Qfont 클래스
Martinay -Opengl ES 2.0 지원
얀 폴락
홍옥
MIT에 따라 라이센스가 부여 된 경우 Project Root 디렉토리의 File License.txt 참조하십시오.