GPU 블렌드 모드 설정
gpu_set_blendmode_ext_sepalpha
함수는 GameMaker에서 픽셀을 그릴 때 소스 색상과 대상 색상을 조합하여 새로운 색상을 결정하는 방법을 설정합니다. 이 문서에서는 이 함수의 사용법과 다양한 활용 예제를 설명합니다.
블렌드 모드 개요
픽셀을 그릴 때, 소스 색상(그릴 픽셀의 색상)과 대상 색상(이미 그려진 픽셀의 색상)이 있습니다. 새로운 색상은 소스와 대상 색상의 각 구성 요소를 특정 비율로 곱한 후 더하여 계산됩니다. 각 색상 구성 요소는 0과 1 사이의 부동 소수점 값으로 저장됩니다.
주요 인수 설명
인수 이름 | 타입 | 설명 |
---|---|---|
src | 블렌드 모드 상수 | RGB 소스 블렌드 모드 상수 |
dest | 블렌드 모드 상수 | RGB 대상 블렌드 모드 상수 |
alphasrc | 블렌드 모드 상수 | 소스 알파 블렌드 모드 상수 |
alphadest | 블렌드 모드 상수 | 대상 알파 블렌드 모드 상수 |
블렌드 모드 상수
다음은 사용할 수 있는 블렌드 모드 상수의 예입니다:
블렌드 모드 상수 | 설명 |
---|---|
bm_zero | (0, 0, 0) |
bm_one | (1, 1, 1) |
bm_src_alpha | 소스 알파 모드 |
bm_inv_src_alpha | 반전 소스 알파 모드 |
사용 예제
다음은 gpu_set_blendmode_ext_sepalpha
함수를 사용하는 예제입니다:
// 현재 블렌드 모드 가져오기
var bm = gpu_get_blendmode_ext_sepalpha();
// 소스 및 대상 블렌드 모드 설정
bm[0] = bm_src_alpha; // 소스 RGB 블렌드 모드
bm[1] = bm_inv_src_alpha; // 대상 RGB 블렌드 모드
// 블렌드 모드 설정
gpu_set_blendmode_ext_sepalpha(bm);
이 코드는 현재의 블렌드 모드를 가져와서 소스와 대상 블렌드 모드를 설정한 후, 이를 적용합니다.
추가 활용 예제
- 투명한 객체 그리기
gml gpu_set_blendmode_ext_sepalpha(bm_src_alpha, bm_inv_src_alpha); draw_sprite(sprite_index, image_index, x, y);
- 그라디언트 효과 만들기
gml gpu_set_blendmode_ext_sepalpha(bm_zero, bm_one); draw_rectangle(x, y, x + width, y + height, false);
- 특정 색상 강조하기
gml gpu_set_blendmode_ext_sepalpha(bm_src_colour, bm_inv_src_colour); draw_sprite(sprite_index, image_index, x, y);
- 알파 채널을 이용한 효과
gml gpu_set_blendmode_ext_sepalpha(bm_src_alpha, bm_inv_src_alpha); draw_circle(x, y, radius, false);
이러한 예제들은 다양한 그래픽 효과를 구현하는 데 유용합니다. 각 블렌드 모드는 화면에 그려지는 최종 이미지에 영향을 미치므로, 적절한 블렌드 모드를 선택하는 것이 중요합니다.