GPU 텍스처 Mip Bias 가져오기
gpu_get_tex_mip_bias_ext
함수는 주어진 셰이더 샘플러의 mipmap bias 값을 가져오는 데 사용됩니다. 이 함수는 shader_get_sampler_index()
함수로 반환된 셰이더 샘플러의 핸들을 인수로 받아들이며, bias가 없을 경우 0.0을 반환합니다. bias 값이 클수록 텍스처가 더 흐릿해지며, 이는 더 먼 거리를 볼 때 발생합니다. 음수 값이 반환될 경우, 텍스처는 더 먼 거리에서 더 선명하게 보입니다.
문법
gpu_get_tex_mip_bias_ext(sampler_index);
인수 설명
인수 이름 | 타입 | 설명 |
---|---|---|
sampler_index | Shader Sampler Handle | 가져올 셰이더 샘플러의 핸들 |
반환 값
- 실수 (기본값: 0)
예제 코드
다음 코드는 주어진 셰이더 텍스처 샘플러의 mip 필터 bias를 0으로 설정합니다. 만약 이미 0으로 설정되어 있지 않다면, 이를 0으로 설정합니다.
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_mip_bias_ext(_sampleIndex) != 0) {
gpu_set_tex_mip_bias_ext(_sampleIndex, 0);
}
texture_set_stage(_sampleIndex, _spriteTex);
shader_reset();
활용 예제
- 셰이더 텍스처 흐림 조정
gml var _sampleIndex = shader_get_sampler_index(shd_Blur, "s_Texture"); gpu_set_tex_mip_bias_ext(_sampleIndex, 2); // 흐림 효과 증가
- 셰이더 텍스처 선명도 조정
gml var _sampleIndex = shader_get_sampler_index(shd_Sharp, "s_Texture"); gpu_set_tex_mip_bias_ext(_sampleIndex, -1); // 선명도 증가
- 동적 mipmap 조정
gml var _sampleIndex = shader_get_sampler_index(shd_Dynamic, "s_Texture"); if (distance_to_object(obj_Player) < 100) { gpu_set_tex_mip_bias_ext(_sampleIndex, 0); // 가까운 거리에서 선명하게 } else { gpu_set_tex_mip_bias_ext(_sampleIndex, 2); // 먼 거리에서 흐리게 }
- 게임 환경에 따른 텍스처 조정
gml if (is_night_time) { gpu_set_tex_mip_bias_ext(_sampleIndex, 1); // 밤에 텍스처 흐림 } else { gpu_set_tex_mip_bias_ext(_sampleIndex, 0); // 낮에 선명하게 }
- UI 요소의 텍스처 조정
gml var _uiSampleIndex = shader_get_sampler_index(shd_UI, "s_UITexture"); gpu_set_tex_mip_bias_ext(_uiSampleIndex, -1); // UI 요소 선명하게
이와 같이 gpu_get_tex_mip_bias_ext
함수는 다양한 상황에서 텍스처의 선명도와 흐림을 조절하는 데 유용하게 사용될 수 있습니다.