GPU Z-버퍼 테스트 설정
gpu_set_zfunc
함수는 Z-버퍼 테스트 비교 모드를 설정하는 기능을 제공합니다. 이 함수는 Z-버퍼 테스트가 어떻게 작동할지를 결정하는 데 사용됩니다. 기본값은 cmpfunc_lessequal
입니다.
문법
gpu_set_zfunc(cmp_func);
인수
인수 이름 | 타입 | 설명 |
---|---|---|
cmp_func | 비교 함수 상수 | 사용할 비교 모드 (위의 목록 참조) |
반환값
- N/A
예제
gpu_set_ztestenable(true);
gpu_set_zfunc(cmpfunc_always);
draw_sprite(spr_Background, 0, 0, 0);
gpu_set_ztestenable(false);
위의 코드는 Z-버퍼 테스트를 활성화하고 비교 모드를 설정한 후 배경 스프라이트를 그립니다. 그 후 다시 Z-버퍼 테스트를 비활성화하여 계속해서 다른 객체를 그릴 수 있도록 합니다.
활용 예제
예제 1: Z-버퍼 테스트를 사용하여 3D 객체 그리기
gpu_set_ztestenable(true);
gpu_set_zfunc(cmpfunc_lessequal);
draw_model(my_3d_model, x, y, z);
gpu_set_ztestenable(false);
예제 2: 여러 스프라이트를 겹쳐서 그리기
gpu_set_ztestenable(true);
gpu_set_zfunc(cmpfunc_greater);
draw_sprite(spr_Above, 0, 100, 100);
draw_sprite(spr_Below, 0, 100, 100);
gpu_set_ztestenable(false);
예제 3: Z-버퍼를 사용하여 투명한 객체 그리기
gpu_set_ztestenable(true);
gpu_set_zfunc(cmpfunc_lessequal);
draw_sprite(spr_Transparent, 0, 50, 50);
gpu_set_ztestenable(false);
예제 4: Z-버퍼 테스트를 비활성화하여 모든 객체 그리기
gpu_set_ztestenable(false);
draw_sprite(spr_Background, 0, 0, 0);
draw_sprite(spr_Foreground, 0, 0, 0);
이러한 예제들은 gpu_set_zfunc
함수를 활용하여 다양한 그래픽 효과를 구현하는 방법을 보여줍니다.