font_sdf_spread 함수 설명 및 활용 예제
font_sdf_spread
함수는 SDF(서명 거리 필드) 기능이 있는 폰트의 스프레드를 변경하는 데 사용됩니다. 스프레드는 각 글자의 가장자리에서 효과가 얼마나 퍼져 나갈지를 제한합니다. 스프레드 값은 각 글자의 가장자리에서 확장되는 거리(픽셀 단위)를 의미합니다. 스프레드 값의 범위는 2에서 32 픽셀(포함)까지이며, 기본값은 8입니다.
더 큰 스프레드 값은 광채와 같은 효과를 구현할 때 유용합니다. 하지만, 스프레드 값이 클수록 텍스처 페이지에서 폰트가 차지하는 공간이 커집니다. 반대로, 작은 스프레드 값은 텍스처 공간을 절약하고 렌더링 정확도를 향상시킵니다.
문법
font_sdf_spread(ind, spread);
매개변수 설명
인자 | 자료형 | 설명 |
---|---|---|
ind | Font Asset | 폰트의 인덱스 (SDF 기능이 있어야 함) |
spread | 실수 | 새로운 스프레드 값 (2에서 32 픽셀 사이) |
반환값
- N/A (반환값이 없습니다)
예제
new_font = font_add("STENCIL.TTF", 32, false, false, 32, 128);
font_enable_sdf(new_font, true);
font_sdf_spread(new_font, 16);
위 코드는 포함된 TTF 파일에서 폰트를 로드하고, 그에 대해 SDF 기능을 활성화한 후 스프레드 값을 16 픽셀로 설정합니다.
다양한 활용 예제
예제 1: 스프레드 값 변경 전후 비교
// 폰트 생성
new_font = font_add("ARIAL.TTF", 32, false, false, 32, 128);
font_enable_sdf(new_font, true);
// 기본 스프레드 사용
font_sdf_spread(new_font, 8);
// 텍스트 렌더링
draw_text(10, 10, "기본 스프레드로 렌더링");
// 스프레드를 증가시킴
font_sdf_spread(new_font, 24);
// 텍스트 렌더링
draw_text(10, 50, "큰 스프레드로 렌더링");
여기서는 기본 스프레드 값과 스프레드 값을 늘렸을 때 텍스트의 차이를 비교할 수 있습니다.
예제 2: 여러 폰트의 다양한 스프레드 값 설정
font1 = font_add("FONT1.TTF", 32, false, false, 32, 128);
font_enable_sdf(font1, true);
font_sdf_spread(font1, 10);
font2 = font_add("FONT2.TTF", 32, false, false, 32, 128);
font_enable_sdf(font2, true);
font_sdf_spread(font2, 16);
draw_text(10, 100, "폰트 1 사용");
draw_set_font(font1);
draw_text(10, 130, "Hello World!");
draw_set_font(font2);
draw_text(10, 180, "폰트 2 사용");
draw_text(10, 210, "Hello Again!");
이 예제에서는 두 가지 서로 다른 폰트를 로드하고 각각 다른 스프레드 값을 설정하여 텍스트를 렌더링합니다.
결론
font_sdf_spread
함수는 SDF 폰트의 효과적인 시각적 디테일을 조절하는데 매우 유용합니다. 스프레드 값을 조정하여 텍스트의 외관을 개선하고 렌더링 성능을 최적화할 수 있습니다.