GPU 블렌드 모드 설정
게임 메이커에서 픽셀을 그릴 때, 소스 색상(그릴 픽셀의 색상)과 대상 색상(그릴 픽셀에 이미 있는 색상)이 있습니다. 새로운 픽셀 색상을 결정할 때, 선택한 블렌드 모드에 따라 소스 색상과 대상 색상이 계산됩니다. 색상의 각 구성 요소는 0과 1 사이의 부동 소수점 값으로 저장되며, 새로운 색상은 소스 색상의 각 구성 요소에 특정 계수를 곱하고, 대상 색상의 각 구성 요소에 다른 계수를 곱한 후, 결과를 구성 요소별로 더하여 계산됩니다. 선택한 방정식에 따라 소스와 대상의 혼합 방식도 다르게 설정할 수 있습니다.
이 함수는 다음 상수를 사용하여 여섯 가지 기본 방법으로 블렌드 모드를 설정할 수 있습니다:
블렌드 모드 상수 | 설명 |
---|---|
bm_normal | 기본 블렌드 모드 |
bm_add | 색상을 더하는 블렌드 모드 |
bm_subtract | 색상을 빼는 블렌드 모드 |
bm_multiply | 색상을 곱하는 블렌드 모드 |
bm_screen | 스크린 블렌드 모드 |
bm_overlay | 오버레이 블렌드 모드 |
위 표에서 볼 수 있듯이, 이러한 블렌드 모드는 gpu_set_blendmode_ext()
페이지에서 찾을 수 있는 확장 블렌드 모드의 조합입니다. 일부는 다른 블렌드 방정식을 사용하기도 합니다.
블렌드 모드를 최대한 활용하고, 블렌드 모드가 어떻게 작동하는지, 그리고 최종 이미지에 미치는 영향을 이해하기 위해 다음 가이드를 읽는 것을 추천합니다: 블렌드 모드 사용 가이드
문법
gpu_set_blendmode(mode);
인수
인수 | 유형 | 설명 |
---|---|---|
mode | 블렌드 모드 상수 | 사용할 블렌드 모드 (위 표 참조) |
반환값
N/A
예제
gpu_set_blendmode(bm_add);
draw_circle_colour(100, 100, 50, c_white, c_black, 0);
gpu_set_blendmode(bm_normal);
위 예제는 흰색 원의 외부에서 강하게 나타나고 원의 중심에서 점차 약해지는 '글로우' 효과를 생성합니다. 원이 그려진 후 블렌드 모드를 초기화하여 추가 블렌딩이 이후의 모든 것에 적용되지 않도록 합니다.
활용 예제
1. 기본 블렌드 모드 사용
gpu_set_blendmode(bm_normal);
draw_rectangle(50, 50, 150, 150, c_red);
2. 추가 블렌드 모드로 효과 만들기
gpu_set_blendmode(bm_add);
draw_circle(200, 200, 100, c_yellow);
3. 곱하기 블렌드 모드로 그림자 효과 만들기
gpu_set_blendmode(bm_multiply);
draw_rectangle(300, 300, 400, 400, c_black);
4. 스크린 블렌드 모드로 밝기 조절하기
gpu_set_blendmode(bm_screen);
draw_circle(500, 500, 75, c_blue);
5. 오버레이 블렌드 모드로 텍스처 효과 만들기
gpu_set_blendmode(bm_overlay);
draw_sprite(spr_texture, 0, 600, 600);
이와 같은 다양한 블렌드 모드를 활용하여 게임 내에서 다양한 시각적 효과를 만들 수 있습니다.