▲neo 20일전 | parent | favorite | on: GN⁺: 텍스처 없는 텍스트 렌더링 기술(poniesandlight.co.uk)Hacker News 의견 ShaderToy에서 간단한 산술을 통해 코드를 작성하는 것이 재미있고 쉬운 작업임. 다양한 텍스트 해킹 예시가 많음 예: 300자 미만의 Matrix, 녹색 CRT 디스플레이 효과 등 이 방법은 창의적이지만 결과물이 아름답지는 않음. 더 나은 결과를 위해 더 많은 비트를 추가할 수 있지만, 효율적인 방법은 흑백 픽셀을 사용하여 텍스처로 저장하는 것임 현대 3D 렌더링 엔진에서 텍스트를 그리는 일반적인 방법은 SDF 텍스트를 사용하는 것임. 이는 전통적인 텍스처 아틀라스를 사용하여 서명 거리 필드의 아틀라스를 생성함 텍스트 렌더링 알고리즘을 직접 시도해본 적이 없지만 여러 가지를 구현한 경험이 있음. 해상도 독립성과 안티앨리어싱이 필요했기 때문에 이 방법은 도움이 되지 않았음 이 방법은 Will Dobbie의 방법과 개념적으로 유사하지만 더 간단함. 픽셀 데이터를 배열에 저장하는 방식임 텍스트를 메쉬로 렌더링하는 옵션도 있음. TextMeshPro는 서명 거리 필드를 사용하여 임의의 스케일을 처리함 전통적인 텍스처 방식과 성능 비교를 하면 재미있을 것임. 현대 GPU의 간단한 작업에서는 성능이 "예"라는 답변이 나올 가능성이 큼 Sebastian Lague의 비디오에서 다양한 폰트 렌더링 기법을 다룸 폰트 데이터를 프래그먼트 셰이더 소스 코드에 포함시키는 유사한 기술을 사용한 경험이 있음. snprintf를 사용하여 GPU 버퍼에 직접 출력함 이 방법은 BBC Basic에서 작은 8x8 스프라이트를 그리는 것과 유사함. 35년 전의 추억을 떠올리게 함 GPU는 텍스처에서 렌더링하는 데 효율적이지만 비트 조작에는 상대적으로 느림. 메모리를 절약하지만 실제로 아틀라스를 사용하는 것보다 빠른지는 의문임 작은 텍스처를 GPU에 업로드하는 것이 성능에 큰 영향을 미치는지에 대한 질문이 있음. 2D로 텍스처에 문자열을 렌더링하고 두 삼각형에 텍스처를 표시하는 것이 가능한지 궁금함
Hacker News 의견
snprintf
를 사용하여 GPU 버퍼에 직접 출력함