블렌드 모드(OW)
업데이트: 2025/08/26
이 페이지에는 베타 버전에 관한 설명이 포함되어 있습니다.
Cubism 5.3 SDK for Native R1 beta1 및 for Web R1 beta1부터 Cubism 5.3에서 추가된 블렌드 모드를 지원합니다.
모델에 블렌드 모드를 적용하면 페인트 도구와 같은 고급 합성이 가능합니다.
Cubism Editor에서 설정한 블렌드 모드는 Cubism 5.3 이후의 Cubism SDK를 이용하여 특별히 추가적인 코딩 없이 적용됩니다.
Cubism Editor에서의 블렌드 모드 설정에 대한 자세한 내용은 Editor 매뉴얼의 「블렌드 모드」를 참조하십시오.
Cubism Framework의 내부 처리
블렌드 모드를 표현하기 위한 Framework의 내부 처리입니다.
이하의 흐름으로 처리를 실시합니다.
- Cubism Core에서 블렌드 모드 얻기
- 모델 전체를 그리기 위해 버퍼로 그리기 대상 전환
- 어떤 블렌드 모드에서 그릴지 판별
- 획득한 블렌드 모드에서 사용할 셰이더 프로그램 지정
- 셰이더 프로그램에 모델 전체를 그리기 위한 버퍼를 블렌드 원본 텍스쳐로 설정
- 프래그먼트 셰이더에서 블렌드 원본 텍스쳐와 그리고 싶은 텍스쳐를 지정 블렌드 모드로 블렌드하여 그리기
- 모델 전체를 그린 버퍼를 화면에 그리기
TIPS
블렌드 모드가 Normal Over, AddCompatible, MultiplyCompatible인 경우 기존 블렌드 방식을 사용해 그리기를 실시합니다.Cubism Core에서 블렌드 모드 얻기
Cubism Core의 API를 사용하여 모델에서 블렌드 모드를 모든 Drawable만큼 취득합니다.
또한 Offscreen의 블렌드 모드에 대해서는 Drawable을 Offscreen으로 바꾸십시오.
csmBlendMode CubismModel::GetDrawableBlendModeType(csmInt32 drawableIndex) const { csmBlendMode blendMode; const csmInt32* const blendModes = Core::csmGetDrawableBlendModes(_model); blendMode.SetBlendMode(blendModes[drawableIndex]); return blendMode; }
Core의 API는 다음과 같습니다.
csmApi const int* csmCallingConvention csmGetDrawableBlendModes(const csmModel* model);
CubismModel 클래스의 그리기 시에 그리는 Drawable만큼 취득합니다.
TIPS
기존 블렌드 방식의 내용도 상기의 처리로 취득하는 것이 가능합니다.제한사항
Native
beta1에서는 OpenGL의 Windows / Mac / iOS / Android만 Cubism5.3 기능을 지원합니다.
Cubism 5 SDK R5 beta1 패키지에 존재하는 상기 이외의 플랫폼은 동봉된 Cubism Core를 지원하지 않으므로 제대로 작동하지 않을 수 있습니다.
대응은 beta2 이후를 예정하고 있습니다.
Web
특별히 없음.
기타 제한 사항은 SDK 매뉴얼의 「Cubism 5.3 기능의 SDK 호환성 및 제한」을 참조하십시오.
이 기사가 도움이 되었나요?
네아니요