요약
Mari 3.3v1 및 이전 버전에서는 셰이더를 다시 컴파일해야 하므로 블렌드 모드를 변경하는 것이 때로는 상당히 힘든 프로세스가 될 수 있습니다. 이 문서에서는 블렌드 모드 캐싱을 사용하여 성능을 향상시키고 동적 모드에서 필요한 셰이더 재컴파일 횟수를 줄이는 방법을 설명합니다.
추가 정보
Dynamic Shader Compilation 모드는 셰이더가 다소 무거워지는 대신 셰이더 컴파일 속도를 향상시킵니다. 이 동적 모드는 여러 작업을 캐싱하여 컴파일 속도를 낮추지만, 일부 아티스트는 여전히 다양한 블렌드 모드 간을 전환할 때 정기적으로 셰이더 재컴파일을 경험합니다.
Mari 3.4v1부터 재컴파일 횟수를 줄이기 위해 혼합 모드가 동적 캐싱 시스템에 포함되었습니다. 동적 모드에서 사용자가 레이어, 병합 노드 또는 페인트 버퍼의 혼합 모드를 변경하면 뷰포트에서 회전 휠이 완료될 때까지 기다리지 않고 즉시 변경되어야 합니다.
캐싱 시스템은 아티스트가 재컴파일하지 않고도 사용할 수 있는 5가지 블렌드 모드의 '기록'을 지원합니다.
참고: 블렌드 모드에 대한 자세한 내용은 Mari 온라인 도움말의 페인트 블렌딩 모드 섹션을 참조하세요.
참고: 기본 셰이더 컴파일 모드는 자동이며, 필요에 따라 동적 및 최적화 모드를 모두 사용하므로 대부분의 Mari 세션에 이상적입니다.
블렌드 모드 캐시 상태의 이점을 활용하기 위해 사용자 정의 노드를 조정하는 방법
사용자 정의 노드 내에서 블렌드 모드 속성을 사용하는 개발자는 사용자 정의 노드 XML에 다음과 같거나 유사한 속성을 가질 수 있습니다.
<Attribute Name="BlendMode" PrettyName="Mode" Group="" Type="userenum">Dynamic: MriBlendMode:Comp_Default</ Attribute>
블렌드 모드를 사용하기 위해 개발자에게는 두 가지 가능한 옵션이 있습니다.
- 동적:MriBlendMode:Comp_ 기본값 - 일반 블렌드 모드 유형(모든 모드)입니다.
- 동적:MriBlendModeNoAlpha: Comp_Default - 알파 블렌드 모드가 포함되지 않은 유형용입니다.
또한 더 빠른 컴파일 블렌드 모드에 대한 지원을 추가하려면 다음과 같이 XML 파일을 수정하여 이러한 변경 사항을 활성화해야 합니다.
전에:
Output = $BlendMode(_Base, _Over, #Mask.r * AdvancedBlendAmount);
이후 :
#if defined(MRI_GENERAL_ COMPOSITION)
Output = Comp_General($BlendMode, _Base, _Over, #Mask.r * AdvancedBlendAmount);
#else
Output = $BlendMode(_Base, _Over, #Mask.r * AdvancedBlendAmount);
#endif // defined(MRI_GENERAL_COMPOSITION)
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요