ShaderModule

from acron.core import ShaderModule
class ShaderModule

Bases:

Bases: CopyOnWriteObject, ShaderEnums

Represents a single shader module in some intermediate representation for passing to the driver. This could contain compiled bytecode, or in some cases, preprocessed source code to be given directly to the driver.

This class inherits from CopyOnWriteObject so that modules can safely be shared between multiple Shader objects, with a unique copy automatically being created if the Shader needs to manipulate the module.

Inheritance diagram

digraph inheritance94961b5324 { bgcolor=transparent; rankdir=BT; size="8.0, 12.0"; "CachedTypedWritableReferenceCount" [URL="acron.core.CachedTypedWritableReferenceCount.html#acron.core.CachedTypedWritableReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedWritableReferenceCount" -> "CachedTypedWritableReferenceCount" [arrowsize=0.75,style=""]; "CopyOnWriteObject" [URL="acron.core.CopyOnWriteObject.html#acron.core.CopyOnWriteObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CachedTypedWritableReferenceCount" -> "CopyOnWriteObject" [arrowsize=0.75,style=""]; "DTOOL_SUPER_BASE" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style=""]; "ReferenceCount" [URL="acron.core.ReferenceCount.html#acron.core.ReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "ReferenceCount" [arrowsize=0.75,style=""]; "ShaderEnums" [URL="acron.core.ShaderEnums.html#acron.core.ShaderEnums",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "ShaderEnums" [arrowsize=0.75,style=""]; "ShaderModule" [URL="acron.core.ShaderModule.html#acron.core.ShaderModule",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CopyOnWriteObject" -> "ShaderModule" [arrowsize=0.75,style=""]; "ShaderEnums" -> "ShaderModule" [arrowsize=0.75,style=""]; "TypedObject" [URL="acron.core.TypedObject.html#acron.core.TypedObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "TypedObject" [arrowsize=0.75,style=""]; "TypedWritable" [URL="acron.core.TypedWritable.html#acron.core.TypedWritable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedObject" -> "TypedWritable" [arrowsize=0.75,style=""]; "TypedWritableReferenceCount" [URL="acron.core.TypedWritableReferenceCount.html#acron.core.TypedWritableReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedWritable" -> "TypedWritableReferenceCount" [arrowsize=0.75,style=""]; "ReferenceCount" -> "TypedWritableReferenceCount" [arrowsize=0.75,style=""]; }
class SpecializationConstant

Bases:

Defines a specialization constant.

__init__()
property id → int

getter/setter for uint32_t ShaderModule::SpecializationConstant::id;

property name → ConstPointerTo_InternalName

getter for ConstPointerTo< InternalName > ShaderModule::SpecializationConstant::name;

property type → ShaderType

getter/setter for ShaderType const *ShaderModule::SpecializationConstant::type;

class Variable

Bases:

Defines an interface variable.

__init__()
property id → int

getter/setter for uint32_t ShaderModule::Variable::id;

property location → int
property name → ConstPointerTo_InternalName

getter for ConstPointerTo< InternalName > ShaderModule::Variable::name;

property type → ShaderType

getter/setter for ShaderType const *ShaderModule::Variable::type;

property code → bytes
static get_class_type()
property inputs → Sequence[Variable]

Returns the nth input variable in this shader stage.

property outputs → Sequence[Variable]

Returns the nth output variable in this shader stage.

property parameters → Sequence[Variable]

Returns the nth parameter variable in this shader stage.

property spec_constants → Sequence[SpecializationConstant]

Returns the SpecializationConstant at the indicated index.

property stage → Stage

Returns the stage of the shading pipeline that this shader module is intended to fill.

property used_capabilities → int

Returns the set of capabilities used by this shader.