
TIGR은 작은 크로스 플랫폼 그래픽 라이브러리로 Windows, MacOS, Linux, iOS 및 Android 용 Unified API를 제공합니다.
Tigr의 핵심은 간단한 프레임 버퍼 라이브러리입니다. 또한, 우리는 2D 프로그램이 일반적으로 필요한 일반적인 작업에 대해 몇 가지 도우미를 제공합니다.
Tigr는 작고 독립적으로 설계되었습니다. 'Hello World'예제는 100KB 미만입니다.
| 플랫폼 | 크기 |
|---|---|
| Windows X86_64 | 48K |
| 리눅스 x86_64 | 43K |
| MACOS ARM64 | 90K |
| MacOS X86_64 | 74K |
포함 할 추가 라이브러리가 없습니다. 모든 것이 프로그램에 바로 구워졌습니다.
Tigr는 제한없이 무료로 복사 할 수 있습니다. Tigr.h를 참조하십시오.

다음은 Hello World 프로그램의 예입니다. 자세한 내용은 tigr.h를 읽고 API를 사용하는 것을 확인하십시오.
#include "tigr.h"
int main ( int argc , char * argv [])
{
Tigr * screen = tigrWindow ( 320 , 240 , "Hello" , 0 );
while (! tigrClosed ( screen ))
{
tigrClear ( screen , tigrRGB ( 0x80 , 0x90 , 0xa0 ));
tigrPrint ( screen , tfont , 120 , 110 , tigrRGB ( 0xff , 0xff , 0xff ), "Hello, world." );
tigrUpdate ( screen );
}
tigrFree ( screen );
return 0 ;
}TIGR은 단일 .c 및 해당 .H 파일로 제공됩니다.
사용하려면 프로젝트에 바로 떨어 뜨립니다.
안드로이드 앱의 복잡한 수명주기 및 포장으로 인해 (단일 소스 파일 Android 앱과 같은 것은 없음) tigr 주변의 작은 래퍼가 필요합니다. 그래도 - TIGR API는 동일하게 유지됩니다!
TIGR을 작게 유지하고 집중적으로 유지하기 위해 Android 래퍼는 별도의 리포지어에 살고 있습니다.
Android를 시작하려면 Timogr Repo로 가서 계속하십시오.
iOS에서 TIGR은 앱 대의원으로 구현되며, 몇 줄의 코드만으로 앱에서 사용할 수 있습니다.
iOS 앱을 구축하려면 일반적으로 Xcode에서 약간의 땜질이 필요합니다. 빠르게 진행되고 실행 되려면 완전히 지휘관 기반 도구 체인이있는 iOS 스타터 프로젝트와 디버깅을위한 코드 구성이 있습니다.
iOS를 시작하려면 Timogrios Repo로 가서 계속하십시오.
참고 : TIGR은 Timogr 및 Timogrios에 포함되어 있으며 TIGR을 별도로 설치할 필요가 없습니다.
TIGR에는 tfont 변수가 액세스하는 내장 비트 맵 글꼴이 함께 제공됩니다. tigrLoadFont 사용하여 비트 맵에서 사용자 정의 글꼴을로드 할 수 있습니다. 글꼴 비트 맵에는 동일한 색상의 경계로 분리 된 문자 행이 포함되어 있습니다. Tigr는 테두리가 비트 맵의 왼쪽 상단 픽셀과 동일한 색상을 사용한다고 가정합니다. 각 캐릭터는 투명한 배경에서 주석 작업을하기 위해 흰색으로 그려지는 것으로 가정합니다.
TIGRFONT 도구를 사용하여 TTF 또는 BDF 글꼴 파일에서 고유 한 비트 맵 글꼴을 만듭니다.
TIGR 버전 3.1이므로 유니 코드 인코딩 글꼴 시트가 지원되므로 글꼴로 글리프를 렌더링 할 수 있습니다. 그래도 텍스트는 여전히 LTR로 렌더링됩니다.
TIGR은 tigrSetPostFX 에 의해 제어되는 몇 가지 스톡 효과를 제공하는 내장 픽셀 셰이더를 사용합니다. 이러한 재고 효과는 tigrSetPostShader 사용자 정의 셰이더로 호출하여 대체 할 수 있습니다. 사용자 정의 셰이더는 셰이더 함수의 형태입니다 : void fxShader(out vec4 color, in vec2 uv) 는 tigrSetPostFX 의 4 개의 uniform vec4 parameters 에 액세스 할 수 있습니다.
자세한 내용은 셰이더 예제를 참조하십시오.
MACOS에서는 SDK 버전에 따라 겉보기에 Xcode 프로젝트에서 TIGR을 사용하는 경우 objc_msgSend 프로토 타입의 문제를 피하기 위해 OBJC_OLD_DISPATCH_PROTOTYPES 정의해야합니다.