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
함수의 사용법과 다양한 활용 예제를 살펴보았습니다.