Unity 에디터는 로우레벨 네이티브 플러그인 인터페이스 외에 셰이더 컴파일러에 대한 로우레벨 액세스도 지원하므로 사용자가 다양한 배리언트를 셰이더에 추가할 수 있습니다. 특정 내장 이벤트가 발생하면 플러그인이 콜백을 받는 이벤트 기반 접근 방식이기도 합니다.
Unity 에디터에서 노출되는 셰이더 컴파일러 액세스 확장 기능 정의는 IUnityShaderCompilerAccess.h에서 찾을 수 있고 에디터와 함께 제공됩니다.
이 확장 기능은 현재 D3D11에서만 지원됩니다. 이후에 더 많은 플랫폼에서 지원될 예정입니다.
렌더링 확장 기능을 사용하기 위해서는 플러그인이 UnityShaderCompilerExtEvent를 익스포트해야 합니다. 포함 파일에는 여러 문서가 있습니다.
Unity 에디터에서 빌트인 이벤트 중 하나가 트리거될 때마다 UnityShaderCompilerExtEvent를 통해 플러그인이 호출됩니다. 스크립트에서 CommandBuffer.IssuePluginEventAndData 또는 CommandBuffer.IssuePluginCustomBlit 커맨드를 통해 콜백을 CommandBuffers에 추가할 수도 있습니다.
기본적인 스크립트 인터페이스 외에 Unity의 네이티브 코드 플러그인은 특정 이벤트가 발생했을 때 콜백을 받을 수 있습니다. 주로 플러그인에서 로우 레벨 렌더링을 구현하는 데 활용되며 Unity의 멀티스레드 렌더링과 구동되게 합니다.
Unity 에디터에서 노출되는 인터페이스를 정의하는 헤더는 에디터와 함께 제공됩니다.
Unity 에디터는 셰이더 컴파일러 액세스를 설정할 수 있는 IUnityShaderCompilerExtPluginConfigure 인터페이스를 제공합니다. 이 인터페이스는 플러그인이 자체 키워드를 예약하고 셰이더 프로그램 및 GPU 프로그램 컴파일러 마스크(플러그인을 어떤 셰이더 또는 GPU 프로그램 타입을 위해 호출할지)를 설정하는 데 사용됩니다.
Unity 2017.1의 새로운 기능 NewIn20171
2017–07–04