gpu_get_tex_max_mip_ext 함수 설명
이 문서에서는 gpu_get_tex_max_mip_ext
함수에 대해 설명하고, 다양한 활용 및 응용 예제를 제공합니다. 이 함수는 특정 셰이더 샘플러에 대해 현재 설정된 최대 mipmap 레벨을 가져오는 데 사용됩니다.
함수 개요
- 함수 이름:
gpu_get_tex_max_mip_ext
- 사용법:
gpu_get_tex_max_mip_ext(sampler_index);
- 매개변수:
sampler_index
: 셰이더 샘플러 핸들 (함수shader_get_sampler_index()
로 반환된 값)- 반환값: 현재 최대 mipmap 레벨 (기본값: 16)
- 0: 최고 해상도
- 1: 첫 번째 mipmap 사용
- 2: 두 번째 mipmap 사용 등
활용 예제
이 함수는 텍스처 렌더링 시 블리딩 아티팩트를 방지하는 데 유용합니다. 예를 들어, 텍스처 페이지의 경계를 8픽셀로 설정하고 최대 mipmap 레벨을 3으로 설정하면, 더 먼 렌더 거리에서 블리딩 문제가 발생하지 않도록 할 수 있습니다.
예제 코드
var _sampleIndex = shader_get_sampler_index(shd_Glass, "s_Background");
var _spriteTex = sprite_get_texture(sprite_index, 0);
shader_set(shd_Glass);
if (gpu_get_tex_max_mip_ext(_sampleIndex) != 4) {
gpu_set_tex_max_mip_ext(_sampleIndex, 4);
}
texture_set_stage(_sampleIndex, _spriteTex);
shader_reset();
위 코드는 주어진 셰이더 텍스처 샘플러의 최대 mipmap 레벨을 4로 설정합니다. 만약 이미 4로 설정되어 있지 않다면, 설정을 변경합니다.
추가 활용 예제
예제 번호 | 설명 |
---|---|
1 | 텍스처의 해상도를 동적으로 조정하여 성능 최적화 |
2 | 다양한 해상도의 텍스처를 사용하여 게임의 비주얼 품질 향상 |
3 | 특정 거리에서만 고해상도 텍스처를 사용하여 메모리 절약 |
4 | 셰이더에 따라 mipmap 레벨을 조정하여 다양한 효과 구현 |
이러한 예제들은 gpu_get_tex_max_mip_ext
함수를 활용하여 게임의 그래픽 품질과 성능을 조절하는 방법을 보여줍니다.