GPU 상태 관리 함수 설명
gpu_pop_state
함수는 스택에서 이전 GPU 상태를 꺼내어 적용하는 기능을 제공합니다. 이 함수는 GPU 상태를 관리하는 데 유용하며, 이전 상태로 쉽게 복원할 수 있습니다.
문법
gpu_pop_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();
위 코드에서 gpu_push_state()
를 호출하여 현재 GPU 상태를 저장하고, 여러 GPU 설정을 변경한 후, gpu_pop_state()
를 호출하여 이전 상태로 되돌립니다.
활용 예제
예제 번호 | 설명 |
---|---|
1 | 다양한 블렌드 모드를 사용하여 여러 효과를 적용한 후, 원래 상태로 복원하기 |
2 | 특정 오브젝트의 그리기 전에 GPU 설정을 변경하고, 그리기 후 원래 상태로 되돌리기 |
3 | 여러 인스턴스를 그릴 때 각 인스턴스에 대해 다른 GPU 설정을 적용하고 복원하기 |
4 | 게임의 UI 요소를 그릴 때, 배경과 UI의 GPU 상태를 다르게 설정하고 복원하기 |
추가 코드 스니펫
// 예제 1: 블렌드 모드 변경 후 복원
gpu_push_state();
gpu_set_blendmode(bm_alpha);
draw_sprite(spr_example, 0, x, y);
gpu_pop_state();
// 예제 2: 오브젝트 그리기 전 GPU 설정 변경
gpu_push_state();
gpu_set_blendmode(bm_add);
draw_self();
gpu_pop_state();
// 예제 3: 여러 인스턴스 그리기
gpu_push_state();
gpu_set_blendmode(bm_subtract);
with (obj_Instances) {
draw_self();
}
gpu_pop_state();
// 예제 4: UI 요소 그리기
gpu_push_state();
gpu_set_blendmode(bm_alpha);
draw_ui();
gpu_pop_state();