GPU 혼합 모드 확장 함수 해설
gpu_get_blendmode_ext_sepalpha
함수는 현재 사용 중인 확장 혼합 모드를 가져오는 데 사용됩니다. 이 함수는 혼합 모드를 두 부분으로 나누어 RGB 구성 요소와 알파 구성 요소를 분리합니다. 함수는 다음과 같은 4 요소 1D 배열을 반환합니다:
인덱스 | 설명 |
---|---|
[0] | 소스 혼합 모드 (알파 구성 요소 제외, 기본값: bm_src_alpha(As, As, As) ) |
[1] | 대상 혼합 모드 (알파 구성 요소 제외, 기본값: bm_inv_src_alpha(1-As, 1-As, 1-As) ) |
[2] | 소스 알파 구성 요소 (기본값: bm_src_alpha(As) ) |
[3] | 대상 알파 구성 요소 (기본값: bm_inv_src_alpha(1-As) ) |
배열의 값은 다음 상수 중 하나가 될 수 있습니다. ("s"는 소스에서 가져온 값을, "d"는 대상에서 가져온 값을 나타냅니다.)
이와 같은 방식으로 확장 혼합 모드를 생성할 때, RGB 구성 요소는 하나의 혼합 모드에서 가져오고 알파 구성 요소는 다른 혼합 모드에서 가져옵니다. 예를 들어, bm_zero(0, 0, 0, 0)
을 RGB 혼합 모드로 사용하고 bm_one
을 알파 혼합 모드로 사용하면 (0,0,0,1)의 복합 혼합이 생성됩니다.
배열 내의 값을 직접 변경하고 전체 배열을 함수에 단일 인수로 전달할 수 있습니다.
문법
gpu_get_blendmode_ext_sepalpha();
반환값
- 배열(4 요소만 포함; 상수 참조)
예제
var bm = gpu_get_blendmode_ext_sepalpha();
bm[0] = bm_src_alpha;
bm[1] = bm_inv_src_alpha;
gpu_set_blendmode_ext_sepalpha(bm);
위 코드는 로컬 배열을 생성하고 현재의 확장 혼합 모드를 알파 값으로 분리하여 가져옵니다. 이 배열은 조작된 후 혼합 모드를 설정하는 데 사용됩니다.
활용 예제
예제 1: 기본 혼합 모드 설정
var blend_modes = gpu_get_blendmode_ext_sepalpha();
blend_modes[0] = bm_add; // 소스 혼합 모드 변경
blend_modes[1] = bm_zero; // 대상 혼합 모드 변경
gpu_set_blendmode_ext_sepalpha(blend_modes);
예제 2: 알파 값 조정
var blend_modes = gpu_get_blendmode_ext_sepalpha();
blend_modes[2] = bm_src_alpha; // 소스 알파 구성 요소 설정
blend_modes[3] = bm_inv_src_alpha; // 대상 알파 구성 요소 설정
gpu_set_blendmode_ext_sepalpha(blend_modes);
예제 3: 사용자 정의 혼합 모드
var custom_blend = gpu_get_blendmode_ext_sepalpha();
custom_blend[0] = bm_one; // 소스 혼합 모드
custom_blend[1] = bm_zero; // 대상 혼합 모드
custom_blend[2] = bm_src_alpha; // 소스 알파
custom_blend[3] = bm_one; // 대상 알파
gpu_set_blendmode_ext_sepalpha(custom_blend);
이러한 예제들은 다양한 혼합 모드를 설정하고 조정하는 방법을 보여줍니다.