ShaderNode(NodeInternal)
========================

.. currentmodule:: bpy.types

base classes --- :class:`bpy_struct`, :class:`Node`, :class:`NodeInternal`

subclasses --- 
:class:`ShaderNodeAddShader`, :class:`ShaderNodeAmbientOcclusion`, :class:`ShaderNodeAttribute`, :class:`ShaderNodeBackground`, :class:`ShaderNodeBevel`, :class:`ShaderNodeBlackbody`, :class:`ShaderNodeBrightContrast`, :class:`ShaderNodeBsdfAnisotropic`, :class:`ShaderNodeBsdfDiffuse`, :class:`ShaderNodeBsdfGlass`, :class:`ShaderNodeBsdfHair`, :class:`ShaderNodeBsdfHairPrincipled`, :class:`ShaderNodeBsdfMetallic`, :class:`ShaderNodeBsdfPrincipled`, :class:`ShaderNodeBsdfRayPortal`, :class:`ShaderNodeBsdfRefraction`, :class:`ShaderNodeBsdfSheen`, :class:`ShaderNodeBsdfToon`, :class:`ShaderNodeBsdfTranslucent`, :class:`ShaderNodeBsdfTransparent`, :class:`ShaderNodeBump`, :class:`ShaderNodeCameraData`, :class:`ShaderNodeClamp`, :class:`ShaderNodeCombineColor`, :class:`ShaderNodeCombineXYZ`, :class:`ShaderNodeCustomGroup`, :class:`ShaderNodeDisplacement`, :class:`ShaderNodeEeveeSpecular`, :class:`ShaderNodeEmission`, :class:`ShaderNodeFloatCurve`, :class:`ShaderNodeFresnel`, :class:`ShaderNodeGamma`, :class:`ShaderNodeGroup`, :class:`ShaderNodeHairInfo`, :class:`ShaderNodeHoldout`, :class:`ShaderNodeHueSaturation`, :class:`ShaderNodeInvert`, :class:`ShaderNodeLayerWeight`, :class:`ShaderNodeLightFalloff`, :class:`ShaderNodeLightPath`, :class:`ShaderNodeMapRange`, :class:`ShaderNodeMapping`, :class:`ShaderNodeMath`, :class:`ShaderNodeMix`, :class:`ShaderNodeMixRGB`, :class:`ShaderNodeMixShader`, :class:`ShaderNodeNewGeometry`, :class:`ShaderNodeNormal`, :class:`ShaderNodeNormalMap`, :class:`ShaderNodeObjectInfo`, :class:`ShaderNodeOutputAOV`, :class:`ShaderNodeOutputLight`, :class:`ShaderNodeOutputLineStyle`, :class:`ShaderNodeOutputMaterial`, :class:`ShaderNodeOutputWorld`, :class:`ShaderNodeParticleInfo`, :class:`ShaderNodePointInfo`, :class:`ShaderNodeRGB`, :class:`ShaderNodeRGBCurve`, :class:`ShaderNodeRGBToBW`, :class:`ShaderNodeRadialTiling`, :class:`ShaderNodeRaycast`, :class:`ShaderNodeScript`, :class:`ShaderNodeSeparateColor`, :class:`ShaderNodeSeparateXYZ`, :class:`ShaderNodeShaderToRGB`, :class:`ShaderNodeSqueeze`, :class:`ShaderNodeSubsurfaceScattering`, :class:`ShaderNodeTangent`, :class:`ShaderNodeTexBrick`, :class:`ShaderNodeTexChecker`, :class:`ShaderNodeTexCoord`, :class:`ShaderNodeTexEnvironment`, :class:`ShaderNodeTexGabor`, :class:`ShaderNodeTexGradient`, :class:`ShaderNodeTexIES`, :class:`ShaderNodeTexImage`, :class:`ShaderNodeTexMagic`, :class:`ShaderNodeTexNoise`, :class:`ShaderNodeTexSky`, :class:`ShaderNodeTexVoronoi`, :class:`ShaderNodeTexWave`, :class:`ShaderNodeTexWhiteNoise`, :class:`ShaderNodeUVAlongStroke`, :class:`ShaderNodeUVMap`, :class:`ShaderNodeValToRGB`, :class:`ShaderNodeValue`, :class:`ShaderNodeVectorCurve`, :class:`ShaderNodeVectorDisplacement`, :class:`ShaderNodeVectorMath`, :class:`ShaderNodeVectorRotate`, :class:`ShaderNodeVectorTransform`, :class:`ShaderNodeVertexColor`, :class:`ShaderNodeVolumeAbsorption`, :class:`ShaderNodeVolumeCoefficients`, :class:`ShaderNodeVolumeInfo`, :class:`ShaderNodeVolumePrincipled`, :class:`ShaderNodeVolumeScatter`, :class:`ShaderNodeWavelength`, :class:`ShaderNodeWireframe`

.. class:: ShaderNode(NodeInternal)

   Material shader node

   .. classmethod:: bl_rna_get_subclass(id, default=None, /)
   
      :param id: The RNA type identifier.
      :type id: str
      :param default: The value to return when not found.
      :type default: :class:`bpy.types.Struct` | None
      :return: The RNA type or default when not found.
      :rtype: :class:`bpy.types.Struct`


   .. classmethod:: bl_rna_get_subclass_py(id, default=None, /)
   
      :param id: The RNA type identifier.
      :type id: str
      :param default: The value to return when not found.
      :type default: type | None
      :return: The class or default when not found.
      :rtype: type


Inherited Properties
--------------------

.. hlist::
   :columns: 2

   - :class:`bpy_struct.id_data`
   - :class:`Node.type`
   - :class:`Node.location`
   - :class:`Node.location_absolute`
   - :class:`Node.width`
   - :class:`Node.height`
   - :class:`Node.dimensions`
   - :class:`Node.name`
   - :class:`Node.label`
   - :class:`Node.inputs`
   - :class:`Node.outputs`
   - :class:`Node.internal_links`
   - :class:`Node.parent`
   - :class:`Node.warning_propagation`
   - :class:`Node.use_custom_color`
   - :class:`Node.color`
   - :class:`Node.color_tag`
   - :class:`Node.select`
   - :class:`Node.show_options`
   - :class:`Node.show_preview`
   - :class:`Node.hide`
   - :class:`Node.mute`
   - :class:`Node.show_texture`
   - :class:`Node.bl_idname`
   - :class:`Node.bl_label`
   - :class:`Node.bl_description`
   - :class:`Node.bl_icon`
   - :class:`Node.bl_static_type`
   - :class:`Node.bl_width_default`
   - :class:`Node.bl_width_min`
   - :class:`Node.bl_width_max`
   - :class:`Node.bl_height_default`
   - :class:`Node.bl_height_min`
   - :class:`Node.bl_height_max`

Inherited Functions
-------------------

.. hlist::
   :columns: 2

   - :class:`bpy_struct.as_pointer`
   - :class:`bpy_struct.driver_add`
   - :class:`bpy_struct.driver_remove`
   - :class:`bpy_struct.get`
   - :class:`bpy_struct.id_properties_clear`
   - :class:`bpy_struct.id_properties_ensure`
   - :class:`bpy_struct.id_properties_ui`
   - :class:`bpy_struct.is_property_hidden`
   - :class:`bpy_struct.is_property_overridable_library`
   - :class:`bpy_struct.is_property_readonly`
   - :class:`bpy_struct.is_property_set`
   - :class:`bpy_struct.items`
   - :class:`bpy_struct.keyframe_delete`
   - :class:`bpy_struct.keyframe_insert`
   - :class:`bpy_struct.keys`
   - :class:`bpy_struct.path_from_id`
   - :class:`bpy_struct.path_from_module`
   - :class:`bpy_struct.path_resolve`
   - :class:`bpy_struct.pop`
   - :class:`bpy_struct.property_overridable_library_set`
   - :class:`bpy_struct.property_unset`
   - :class:`bpy_struct.rna_ancestors`
   - :class:`bpy_struct.type_recast`
   - :class:`bpy_struct.values`
   - :class:`Node.bl_system_properties_get`
   - :class:`Node.socket_value_update`
   - :class:`Node.is_registered_node_type`
   - :class:`Node.poll`
   - :class:`Node.poll_instance`
   - :class:`Node.update`
   - :class:`Node.insert_link`
   - :class:`Node.init`
   - :class:`Node.copy`
   - :class:`Node.free`
   - :class:`Node.draw_buttons`
   - :class:`Node.draw_buttons_ext`
   - :class:`Node.draw_label`
   - :class:`Node.debug_zone_body_lazy_function_graph`
   - :class:`Node.debug_zone_lazy_function_graph`
   - :class:`Node.poll`
   - :class:`Node.bl_rna_get_subclass`
   - :class:`Node.bl_rna_get_subclass_py`
   - :class:`NodeInternal.poll`
   - :class:`NodeInternal.poll_instance`
   - :class:`NodeInternal.update`
   - :class:`NodeInternal.draw_buttons`
   - :class:`NodeInternal.draw_buttons_ext`
   - :class:`NodeInternal.bl_rna_get_subclass`
   - :class:`NodeInternal.bl_rna_get_subclass_py`

References
----------

.. hlist::
   :columns: 2

   - :class:`ShaderNodeTree.get_output_node`

