RDShaderSPIRV

继承: Resource < RefCounted < Object

SPIR-V中间表示作为RDShaderFile的一部分(由RenderingDevice使用)。

描述

RDShaderSPIRV表示用于各种着色器阶段的RDShaderFileSPIR-V代码,以及可能的编译错误消息。SPIR-V是一种低级中间着色器表示。这种中间表示不会被GPU直接用于渲染,但它可以编译成GPU可以理解的二进制着色器。与编译的着色器不同,SPIR-V可以跨GPU模型和驱动程序版本移植。

此对象由RenderingDevice使用。

属性

方法


属性说明

PackedByteArray bytecode_compute = PackedByteArray() 🔗

计算着色器阶段的SPIR-V字节码。

提示: 返回的数组是 副本,对其进行的任何修改都不会更新原始属性值。有关更多详细信息,请参阅 PackedByteArray. .. rst-class:: classref-item-separator


PackedByteArray bytecode_fragment = PackedByteArray() 🔗

片段着色器阶段的SPIR-V字节码。

提示: 返回的数组是 副本,对其进行的任何修改都不会更新原始属性值。有关更多详细信息,请参阅 PackedByteArray.


PackedByteArray bytecode_tesselation_control = PackedByteArray() 🔗

用于镶嵌控制着色器阶段的SPIR-V字节码。

提示: 返回的数组是 副本,对其进行的任何修改都不会更新原始属性值。有关更多详细信息,请参阅 PackedByteArray.


PackedByteArray bytecode_tesselation_evaluation = PackedByteArray() 🔗

用于镶嵌评估着色器阶段的SPIR-V字节码。

提示: 返回的数组是 副本,对其进行的任何修改都不会更新原始属性值。有关更多详细信息,请参阅 PackedByteArray.


PackedByteArray bytecode_vertex = PackedByteArray() 🔗

顶点着色器阶段的SPIR-V字节码。

提示: 返回的数组是 副本,对其进行的任何修改都不会更新原始属性值。有关更多详细信息,请参阅 PackedByteArray.


String compile_error_compute = "" 🔗

计算着色器阶段的编译错误消息(由SPIR-V编译器和i3D设置)。如果为空,则着色器编译成功。


String compile_error_fragment = "" 🔗

片段着色器阶段的编译错误消息(由SPIR-V编译器和i3D设置)。如果为空,则着色器编译成功。


String compile_error_tesselation_control = "" 🔗

镶嵌控制着色器阶段的编译错误消息(由SPIR-V编译器和i3D设置)。如果为空,则着色器编译成功。


String compile_error_tesselation_evaluation = "" 🔗

镶嵌评估着色器阶段的编译错误消息(由SPIR-V编译器和i3D设置)。如果为空,则着色器编译成功。


String compile_error_vertex = "" 🔗

顶点着色器阶段的编译错误消息(由SPIR-V编译器和i3D设置)。如果为空,则着色器编译成功。


方法说明

PackedByteArray get_stage_bytecode(stage: ShaderStage) const 🔗

相当于得到bytecode_computebytecode_fragmentbytecode_tesselation_controlbytecode_tesselation_evaluationbytecode_vertex中的一个。


String get_stage_compile_error(stage: ShaderStage) const 🔗

返回给定着色器stage的编译错误消息。相当于获取compile_error_computecompile_error_fragmentcompile_error_tesselation_controlcompile_error_tesselation_evaluationcompile_error_vertex之一。


void set_stage_bytecode(stage: ShaderStage, bytecode: PackedByteArray) 🔗

为给定的着色器stage设置SPIR-Vbytecode。相当于设置bytecode_computebytecode_fragmentbytecode_tesselation_controlbytecode_tesselation_evaluationbytecode_vertex之一。


void set_stage_compile_error(stage: ShaderStage, compile_error: String) 🔗

将给定着色器stage的编译错误消息设置为compile_error。相当于设置compile_error_computecompile_error_fragmentcompile_error_tesselation_controlcompile_error_tesselation_evaluationcompile_error_vertex之一。