GPU 상태 푸시 함수 설명
gpu_push_state
함수는 현재 GPU 상태를 스택에 저장하여 나중에 사용할 수 있도록 합니다. 이 함수는 현재 GPU 상태(블렌드 모드, 알파 쓰기, 컬링 등)를 "저장"하고, 다른 설정으로 무언가를 그린 다음, 이전 상태로 GPU 스택을 재설정할 때 사용됩니다.
문법
gpu_push_state();
반환값
이 함수는 반환값이 없습니다.
사용 예제
아래의 예제는 현재 GPU 상태를 스택에 저장한 후, GPU 설정을 변경하고 인스턴스 그룹을 그린 다음, GPU 상태를 이전 상태로 재설정하는 과정을 보여줍니다.
gpu_push_state();
gpu_set_blendmode(bm_add);
gpu_set_blendenable(false);
gpu_set_cullmode(true);
with (obj_Effect_Parent) {
draw_self();
}
gpu_pop_state();
활용 예제
예제 번호 | 설명 |
---|---|
1 | 기본적인 GPU 상태 저장 및 복원 |
2 | 다양한 블렌드 모드를 사용하여 효과 적용 |
3 | 특정 객체에만 다른 컬링 모드 적용 |
4 | 여러 개의 효과를 순차적으로 적용하기 |
5 | GPU 상태를 사용하여 성능 최적화 |
예제 1: 기본적인 GPU 상태 저장 및 복원
gpu_push_state();
gpu_set_blendmode(bm_normal);
draw_sprite(spr_Player, 0, x, y);
gpu_pop_state();
예제 2: 다양한 블렌드 모드를 사용하여 효과 적용
gpu_push_state();
gpu_set_blendmode(bm_add);
draw_sprite(spr_LightEffect, 0, x, y);
gpu_pop_state();
예제 3: 특정 객체에만 다른 컬링 모드 적용
gpu_push_state();
gpu_set_cullmode(true);
with (obj_SpecialEffect) {
draw_self();
}
gpu_pop_state();
예제 4: 여러 개의 효과를 순차적으로 적용하기
gpu_push_state();
gpu_set_blendmode(bm_add);
draw_sprite(spr_Effect1, 0, x, y);
gpu_pop_state();
gpu_push_state();
gpu_set_blendmode(bm_subtract);
draw_sprite(spr_Effect2, 0, x, y);
gpu_pop_state();
예제 5: GPU 상태를 사용하여 성능 최적화
gpu_push_state();
gpu_set_blendmode(bm_normal);
draw_sprite(spr_Background, 0, 0, 0);
gpu_set_blendmode(bm_add);
draw_sprite(spr_Foreground, 0, 0, 0);
gpu_pop_state();