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 포맷이 현재 플랫폼에서 지원되는지를 확인합니다. 만약 지원된다면 해당 포맷으로 서피스를 생성하고, 지원되지 않는 경우에는 디버그 메시지를 출력합니다.

활용 및 응용 예제

  1. 다양한 서피스 포맷 확인하기 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."); } }
  2. 서피스 생성 후 사용하기 gml if (surface_format_is_supported(surface_rgba32float)) { var my_surf = surface_create(640, 480, surface_rgba32float); // 서피스를 사용한 렌더링 코드 surface_free(my_surf); }
  3. 서피스 포맷에 따라 다른 처리하기 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."); } }

이 예제들은 다양한 서피스 포맷을 확인하고, 지원되는 포맷에 따라 다른 처리를 수행하는 방법을 보여줍니다.