Sluggish
1.0.0
이것은 CPU와 GPU의 Eric Lengyel의 슬러그 알고리즘으로 글리프를 시작하는 방법을 보여주는 장난감/실험 프로젝트입니다.
코드 전에 참조 섹션에 링크 된 슬라이드를 읽는 것이 좋습니다.
| 하위 프로젝트 | 목적 |
|---|---|
| 글꼴 생성기 | a .ttf truetype 글꼴 파일을 읽고 출력 a .Sluggish 파일 |
| 소프트웨어 렌더러 | 지정된 코드 포인트 당 .Sluggish 파일 및 출력을 읽습니다. |
| 하드웨어 렌더러 | .sluggish 파일을 읽고 OpenGL을 사용하여 최대 6 개의 지정된 글리프를 렌더링합니다. |
| 특징 | 지원하다 |
|---|---|
| 곡선 텍스처 (FP32) | 예 |
| 밴드 텍스처 (U16) | 예 |
| 글리프 자르기 밴드 (공연) | 예 |
| 정렬 곡선 (성능) | 예 |
| 고품질의 구현 | 아니요 |
| 고성능 | 아니요 |
| 16 비트 플로팅 포인트 인코딩 | 아니요 |
| 데이터 제거 및 압축 | 아니요 |
| 텍스트 레이아웃 | 아니요 |
| 색상 모양 | 아니요 |
| 적응 형 슈퍼 샘플링 | 아니요 |
| 감마 교정 | 아니요 |
| 경계 다각형 | 아니요 |
목표는 여전히 끔찍한 성능을 얻지 못하면서 상황을 매우 단순하게 유지하는 것이 었습니다. 예를 들어, 글리프를 밴드로 자르는 것은 간단하고 성능을 크게 향상시키기 때문에 구현되었습니다.
기본적으로 디버거의 대상 실행 파일은 출력 디렉토리에 있지 않지만 SLUGGISH_APP_DIR 환경 변수로 지정된 디렉토리 경로입니다.
.exe 및 .pdb 파일은마다 빌드 후 해당 디렉토리로 복사됩니다.
이 프로세스를 쉽게하기 위해 간단한 배치 스크립트를 통해 Visual Studio를 시작할 수 있습니다.
:: This file would sit next to the Sluggish directory
cd Sluggishmakefilesvs2013
set SLUGGISH_APP_DIR=C:important_stuffsluggish
Sluggish.sln
슬러그 알고리즘의 작동 방식에 대한 자세한 내용은 다음을 참조하십시오.
Eric Lengyel의 Glyph 외곽선에서 직접 GPU 중심 글꼴 렌더링
컴퓨터 그래픽 기술 저널 (JCGT), Vol. 6, 아니오. 2, 31-47, 2017
종이 : http://jcgt.org/published/0006/02/02
슬라이드 : http://terathon.com/i3d2018_lengyel.pdf
| 프로젝트/파일 | 라이센스 | 라이센스 파일 |
|---|---|---|
| 이 프로젝트 | 라이센스 (공개 도메인) | 미등성 .md |
| SDL 2 | zlib | libs/sdl2/copying.txt |
| 글리 | 수정 된 BSD 라이센스 MESA 3D 라이센스 (MIT) Khronos 라이센스 (MIT) | libs/glew/license.txt |
| 미리이크 5 | 미리이크 5 | makefiles/premake_license.txt |
| stb_truetype.h | Licence : 라이센스 (공개 도메인) MIT | 코드/생성기/stb_truetype.h |
| stb_image_write.h | Licence : 라이센스 (공개 도메인) MIT | 코드/renderer_sw/stb_image_write.h |
글을 쓰는 시점에서 슬러그 알고리즘에 대한 특허는 없지만 Eric Lengyel은 하나를 신청했으며 프로세스는 여전히 진행 중입니다 ...