版本: Unity 6 (6000.0)
语言English
  • C#

ShaderData.Pass.CompileVariant

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每一项更改建议,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

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 要编译的此通道中的着色器类型。(例如,顶点、片段等)某些平台(OpenGLCore、GLES3x、Switch 和 Vulkan)将所有阶段包含在顶点着色器类型中。
keywords 编译期间要使用的关键字。
shaderCompilerPlatform 要编译的目标着色器编译器平台。
buildTarget 要编译的目标构建平台。
forExternalTool 指示是为 Unity 准备字节码还是与外部工具一起使用。
tier 可选的图形层级。
platformKeywords 一组可选的平台关键字。如果您不提供任何关键字,Unity 将使用给定平台、目标和层级的默认关键字。

返回值

VariantCompileInfo 已编译的变体结果,包括资源布局信息和字节码。如果通道不包含请求的程序,或者如果通道不是正确的类型,则此函数仍会成功,但会返回空字节码。

描述

编译此着色器通道的着色器变体并返回其字节码和资源布局。