Version: Unity 6.0 (6000.0)
언어 : 한국어
로우레벨 네이티브 플러그인 렌더링 확장 기능
로우레벨 네이티브 플러그인을 위한 메모리 관리자 API

로우레벨 네이티브 플러그인 셰이더 컴파일러 액세스

Unity는 로우레벨 네이티브 플러그인 인터페이스 외에도 셰이더 컴파일러에 대한 로우레벨 액세스를 지원하므로 사용자가 다른 배리언트를 셰이더에 삽입할 수 있습니다. 특정 빌트인 이벤트가 발생할 때 플러그인이 콜백을 수신하는 이벤트 기반 방식이기도 합니다.

Unity 에디터에서 노출되는 셰이더 컴파일러 액세스 확장 기능 정의는 IUnityShaderCompilerAccess.h에서 찾을 수 있고 에디터와 함께 제공됩니다.

이러한 확장 기능은 현재 D3D11에서만 지원됩니다. 추후 더 많은 플랫폼에 대한 지원이 제공됩니다.

셰이더 컴파일러 액세스 확장 기능 API

렌더링 확장 기능을 활용하려면 플러그인이 UnityShaderCompilerExtEvent를 익스포트해야 합니다. 포함 파일에는 많은 문서가 있습니다.

빌트인 이벤트 중 하나가 Unity에서 트리거될 때마다 UnityShaderCompilerExtEvent를 통해 플러그인이 호출됩니다. 스크립트에서 CommandBuffer.IssuePluginEventAndData 또는 CommandBuffer.IssuePluginCustomBlit 커맨드를 통해 콜백을 CommandBuffers에 추가할 수도 있습니다.

기본 스크립트 인터페이스 외에도 Unity의 네이티브 코드 플러그인은 특정 이벤트가 발생할 때 콜백을 수신할 수 있습니다. 주로 플러그인에 로우레벨 렌더링을 구현하고 Unity의 멀티스레드 렌더링과 함께 사용할 수 있도록 하는 데 사용됩니다.

Unity 에디터에서 노출되는 인터페이스를 정의하는 헤더는 에디터와 함께 제공됩니다.

셰이더 컴파일러 액세스 설정 인터페이스

Unity는 셰이더 컴파일러 액세스가 설정된 인터페이스(IUnityShaderCompilerExtPluginConfigure)를 제공합니다. 이 인터페이스는 플러그인이 자체 키워드를 예약하고 셰이더 프로그램 및 GPU 프로그램 컴파일러 마스크(플러그인을 어떤 셰이더 또는 GPU 프로그램 유형을 위해 호출할지)를 설정하는 데 사용됩니다.

추가 리소스

로우레벨 네이티브 플러그인 렌더링 확장 기능
로우레벨 네이티브 플러그인을 위한 메모리 관리자 API