GPU 스텐실 실패 작업 가져오기
이 문서는 GPU에서 스텐실 테스트가 실패했을 때 수행되는 스텐실 작업을 가져오는 함수에 대해 설명합니다.
함수 설명
함수명
gpu_get_stencil_fail
문법
gpu_get_stencil_fail()
반환값
- 스텐실 작업 상수
예제 코드
아래의 예제 코드는 현재 스텐실 실패 작업을 가져오고, 이를 임시 변수에 저장한 후, 스텐실 실패 작업을 변경하고 원을 그리는 과정을 보여줍니다.
var _op_current = gpu_get_stencil_fail();
gpu_set_stencil_fail(stencilop_replace);
draw_circle(20, 20, 10, false);
gpu_set_stencil_fail(_op_current);
코드 설명
gpu_get_stencil_fail()
함수를 호출하여 현재 스텐실 실패 작업을 가져오고_op_current
변수에 저장합니다.gpu_set_stencil_fail(stencilop_replace)
를 호출하여 스텐실 실패 작업을stencilop_replace
로 설정합니다.(20, 20)
위치에 반지름이 10인 원을 그립니다.- 마지막으로,
_op_current
에 저장된 값으로 스텐실 실패 작업을 복원합니다.
활용 예제
예제 1: 스텐실 작업 변경 후 도형 그리기
var _original_op = gpu_get_stencil_fail();
gpu_set_stencil_fail(stencilop_keep);
draw_rectangle(10, 10, 50, 50, false);
gpu_set_stencil_fail(_original_op);
예제 2: 여러 도형 그리기
var _prev_op = gpu_get_stencil_fail();
gpu_set_stencil_fail(stencilop_invert);
draw_circle(30, 30, 15, false);
draw_rectangle(60, 60, 100, 100, false);
gpu_set_stencil_fail(_prev_op);
예제 3: 조건에 따른 스텐실 작업 설정
var _current_op = gpu_get_stencil_fail();
if (some_condition) {
gpu_set_stencil_fail(stencilop_replace);
} else {
gpu_set_stencil_fail(stencilop_keep);
}
draw_circle(40, 40, 20, false);
gpu_set_stencil_fail(_current_op);
표: 스텐실 작업 상수
상수명 | 설명 |
---|---|
stencilop_keep | 현재 스텐실 값을 유지합니다. |
stencilop_replace | 스텐실 값을 교체합니다. |
stencilop_invert | 스텐실 값을 반전시킵니다. |
stencilop_zero | 스텐실 값을 0으로 설정합니다. |
stencilop_increment | 스텐실 값을 증가시킵니다. |
stencilop_decrement | 스텐실 값을 감소시킵니다. |
이 문서에서는 GPU의 스텐실 실패 작업을 관리하는 방법과 다양한 활용 예제를 설명했습니다.