ShaderData.Pass.CompileVariant
Declaration
public ShaderData.VariantCompileInfo CompileVariant(Rendering.ShaderType shaderType, string[] keywords, Rendering.ShaderCompilerPlatform shaderCompilerPlatform, BuildTarget buildTarget);public ShaderData.VariantCompileInfo CompileVariant(Rendering.ShaderType shaderType, string[] keywords, Rendering.ShaderCompilerPlatform shaderCompilerPlatform, BuildTarget buildTarget, bool forExternalTool);public ShaderData.VariantCompileInfo CompileVariant(Rendering.ShaderType shaderType, string[] keywords, Rendering.ShaderCompilerPlatform shaderCompilerPlatform, BuildTarget buildTarget, Rendering.GraphicsTier tier);public ShaderData.VariantCompileInfo CompileVariant(Rendering.ShaderType shaderType, string[] keywords, Rendering.ShaderCompilerPlatform shaderCompilerPlatform, BuildTarget buildTarget, Rendering.GraphicsTier tier, bool forExternalTool);public ShaderData.VariantCompileInfo CompileVariant(Rendering.ShaderType shaderType, string[] keywords, Rendering.ShaderCompilerPlatform shaderCompilerPlatform, BuildTarget buildTarget, BuiltinShaderDefine[] platformKeywords);public ShaderData.VariantCompileInfo CompileVariant(Rendering.ShaderType shaderType, string[] keywords, Rendering.ShaderCompilerPlatform shaderCompilerPlatform, BuildTarget buildTarget, BuiltinShaderDefine[] platformKeywords, bool forExternalTool);public ShaderData.VariantCompileInfo CompileVariant(Rendering.ShaderType shaderType, string[] keywords, Rendering.ShaderCompilerPlatform shaderCompilerPlatform, BuildTarget buildTarget, BuiltinShaderDefine[] platformKeywords, Rendering.GraphicsTier tier);public ShaderData.VariantCompileInfo CompileVariant(Rendering.ShaderType shaderType, string[] keywords, Rendering.ShaderCompilerPlatform shaderCompilerPlatform, BuildTarget buildTarget, BuiltinShaderDefine[] platformKeywords, Rendering.GraphicsTier tier, bool forExternalTool);Параметры
| Параметр | Описание |
|---|---|
| shaderType | Тип шейдера внутри этого прохода для компиляции. (e.g. Vertex, Fragment, и т.д.) Некоторые платформы (OpenGLCore, GLES3x, Switch и Vulkan) включают все стадии внутри типа шейдера Vertex. |
| ключевые слова | Ключевые слова, используемые во время компиляции. |
| shaderCompilerPlatform | Платформа компилятора шейдеров для компиляции. |
| buildTarget | Конечный объект сборки для компиляции. |
| forExternalTool | Указывает, готовить ли байткод для Unity или использовать с внешними инструментами. |
| уровня | Необязательный графический уровень. |
| platformKeywords | Необязательный набор ключевых слов платформы. Если вы не указываете их, Unity использует ключевые слова по умолчанию для указанной платформы, цели и уровня. |
Возвращаемое значение
VariantCompileInfo Результат скомпилированного варианта, включая информацию о расположении ресурсов и байт-код. Если проход не включает запрошенную программу или если проход не является правильным типом, эта функция все равно успешно выполняется, но возвращает пустой байт-код.
Описание
Компиляция варианта шейдера для этого прохода шейдера и возвращение его байт-кода и расположения ресурсов.