GPU 블렌드 방정식 설정
gpu_set_blendequation_sepalpha
함수는 gpu_set_blendequation
과 동일하지만, 두 개의 별도 방정식을 설정할 수 있습니다. 첫 번째 방정식은 소스와 대상의 RGB 구성 요소에 사용되며, 두 번째 방정식은 알파 구성 요소에 사용됩니다.
사용 가능한 방정식
각 구성 요소에 대해 다음 방정식 중에서 선택할 수 있습니다. 블렌드 모드와 그 작동 방식, 최종 이미지에 미치는 영향을 이해하는 데 도움이 되는 가이드를 읽는 것을 권장합니다.
문법
gpu_set_blendequation_sepalpha(equation, equation_alpha);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
equation | 블렌드 모드 방정식 상수 | RGB 구성 요소에 사용되는 블렌드 모드 방정식. |
equation_alpha | 블렌드 모드 방정식 상수 | 알파 구성 요소에 사용되는 블렌드 모드 방정식. |
반환값
N/A
예제
gpu_set_blendmode_ext(bm_src_alpha, bm_one);
gpu_set_blendequation_sepalpha(bm_subtract, bm_max);
draw_circle(100, 100, 50, 0);
gpu_set_blendmode(bm_normal);
이 예제는 블렌드 모드 요소와 방정식을 변경한 후 원을 그리고, 블렌드 모드와 방정식을 초기화하여 이후에 그려지는 것에 영향을 주지 않도록 합니다. 여기서 블렌딩은 다음과 같이 작동합니다: 소스 픽셀은 소스 알파와 곱해지고, 대상 픽셀은 1과 곱해져 원래 상태를 유지합니다. 그런 다음 소스 RGB가 대상 RGB에서 빼지고, 더 큰 알파 값을 사용합니다.
활용 예제
- 알파 블렌딩을 통한 그림자 효과
gml gpu_set_blendmode_ext(bm_src_alpha, bm_one); gpu_set_blendequation_sepalpha(bm_add, bm_one); draw_circle(150, 150, 40, c_black);
- 투명도 조절을 통한 이미지 합성
gml gpu_set_blendmode_ext(bm_src_alpha, bm_one_minus_src_alpha); gpu_set_blendequation_sepalpha(bm_max, bm_zero); draw_sprite(spr_image, 0, 200, 200);
- 색상 혼합 효과
gml gpu_set_blendmode_ext(bm_one, bm_one); gpu_set_blendequation_sepalpha(bm_add, bm_add); draw_rectangle(50, 50, 100, 100, c_red); draw_rectangle(75, 75, 125, 125, c_blue);
- 다양한 블렌드 모드 조합
gml gpu_set_blendmode_ext(bm_one, bm_one); gpu_set_blendequation_sepalpha(bm_subtract, bm_one); draw_circle(300, 300, 50, c_green);
이러한 예제들은 다양한 블렌드 모드를 활용하여 그래픽 효과를 극대화하는 방법을 보여줍니다.