surface_get_target_ext 함수 설명

surface_get_target_ext 함수는 서피스에 할당된 4개의 렌더 타겟 중 하나의 서피스를 가져오는 기능을 제공합니다. 이 함수는 확인할 렌더 타겟의 인덱스를 입력받고, 할당된 서피스가 없으면 -1을 반환하며, 할당된 서피스가 있을 경우 0 이상의 정수 값을 반환합니다. 이 값은 surface_create 또는 surface_create_ext 함수에 의해 반환된 서피스를 나타냅니다.

문법

surface_get_target_ext(index);

인수 설명

인수 타입 설명
index Real 확인할 렌더 타겟의 인덱스 (0에서 3까지)

반환 값

  • 서피스 또는 -1 (타겟 서피스가 설정되지 않은 경우)

예제

다음 코드는 셰이더 렌더 타겟 0이 서피스에 설정되어 있는지 확인합니다. 설정되어 있지 않다면, 서피스를 할당합니다.

if surface_get_target_ext(0) == -1 {
    surface_set_target_ext(0, global.Surf);
}

활용 예제

예제 1: 서피스 할당 확인 및 생성

if surface_get_target_ext(1) == -1 {
    var new_surface = surface_create(200, 200);
    surface_set_target_ext(1, new_surface);
}

예제 2: 서피스가 할당된 경우 처리

if surface_get_target_ext(2) != -1 {
    // 서피스가 할당된 경우의 처리
    draw_surface(surface_get_target_ext(2), 0, 0);
}

예제 3: 모든 렌더 타겟 확인

for (var i = 0; i < 4; i++) {
    if surface_get_target_ext(i) == -1 {
        // 타겟 서피스가 설정되지 않은 경우
        show_message("타겟 " + string(i) + "는 설정되지 않았습니다.");
    }
}

예제 4: 서피스 해제

if surface_get_target_ext(3) != -1 {
    var target_surface = surface_get_target_ext(3);
    surface_reset_target(target_surface);
}

이 문서에서는 surface_get_target_ext 함수의 사용법과 다양한 활용 예제를 살펴보았습니다.