Unity3D :低级原生插件着色器编译器访问

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

低级原生插件着色器编译器访问

除了低级原生插件接口之外,Unity 还支持对着色器编译器的低级访问,从而允许用户将不同的变体注入着色器。这也是一种事件驱动的方法:当某些内置事件发生时,插件将接收回调。

Unity 公开的着色器编译器访问扩展定义位于 IUnityShaderCompilerAccess.h 中,随 Editor 提供。

目前仅在 D3D11 上支持这些扩展。随后将有更多平台支持这些扩展。

着色器编译器访问扩展 API

为了利用渲染扩展,插件应导出 UnityShaderCompilerExtEvent。include 文件中提供了大量文档。

只要 Unity 触发其中一个内置事件,就会通过 UnityShaderCompilerExtEvent 调用插件。还可使用脚本通过 CommandBuffer.IssuePluginEventAndData 或 CommandBuffer.IssuePluginCustomBlit 命令将回调添加到 CommandBuffers。

除了基本脚本接口之外,Unity 中的原生代码插件还可以在发生某些事件时接收回调。这主要用于实现插件中的低级渲染,并使低级渲染能够与 Unity 的多线程渲染一起使用。

定义 Unity 所公开的接口的头文件随 Editor 一起提供。

着色器编译器访问配置接口

Unity 提供了一个配置着色器编译器访问的接口 (IUnityShaderCompilerExtPluginConfigure)。此接口由插件用于保留自己的关键字并配置着色器程序和 GPU 程序编译器掩码(应该调用插件的着色器或 GPU 程序的类型)

3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D :低级原生插件渲染扩展 (mvrlink.com)

下一篇:Unity3D :C# 作业系统概述 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号