surface_format_is_supported 함수 설명
이 문서는 surface_format_is_supported
함수에 대한 설명과 활용 예제를 제공합니다. 이 함수는 현재 플랫폼에서 주어진 서피스 포맷이 지원되는지를 확인합니다.
함수 구문
surface_format_is_supported(format);
인자 설명
인자 | 타입 | 설명 |
---|---|---|
format | Surface Format Constant | 확인할 서피스 포맷 |
반환값
반환값 | 타입 | 설명 |
---|---|---|
Boolean | true/false | 서피스 포맷이 지원되면 true, 아니면 false |
사용 예제
아래는 surface_format_is_supported
함수를 사용하는 예제입니다.
if (surface_format_is_supported(surface_rgba32float)) {
my_surf = surface_create(320, 180, surface_rgba32float);
// ... 추가 코드
} else {
show_debug_message("Effect disabled, 32-bit surface not supported");
}
이 코드는 surface_rgba32float
포맷이 현재 플랫폼에서 지원되는지를 확인합니다. 만약 지원된다면 해당 포맷으로 서피스를 생성하고, 지원되지 않는 경우에는 디버그 메시지를 출력합니다.
활용 및 응용 예제
- 다양한 서피스 포맷 확인하기
gml var formats = [surface_rgba32float, surface_rgba16, surface_rgba8]; for (var i = 0; i < array_length(formats); i++) { if (surface_format_is_supported(formats[i])) { show_debug_message("Format " + string(formats[i]) + " is supported."); } else { show_debug_message("Format " + string(formats[i]) + " is not supported."); } }
- 서피스 생성 후 사용하기
gml if (surface_format_is_supported(surface_rgba32float)) { var my_surf = surface_create(640, 480, surface_rgba32float); // 서피스를 사용한 렌더링 코드 surface_free(my_surf); }
- 서피스 포맷에 따라 다른 처리하기
gml var format = surface_rgba32float; if (surface_format_is_supported(format)) { // 32비트 서피스 포맷을 사용할 때의 처리 } else { format = surface_rgba16; if (surface_format_is_supported(format)) { // 16비트 서피스 포맷을 사용할 때의 처리 } else { show_debug_message("No supported surface format available."); } }
이 예제들은 다양한 서피스 포맷을 확인하고, 지원되는 포맷에 따라 다른 처리를 수행하는 방법을 보여줍니다.