## RemoveTextureLayers

### Introduced

v4.0

### Description

Removes a list of texture layers from a container (shader or material). If no container is provided, then it removes the layer(s) from all containers, effectively deleting them.

### Scripting Syntax

    RemoveTextureLayers( [InputObjs], [Container] );

### Parameters

Parameter | Type | Description
--- | --- | ---
InputObjs | String | List of layers which are to be removed from a container. Default Value: Current selection.
Container | String or object | The container from which to remove the layers (if it currently contains them). If not specified, then the layers will be deleted from all containers in which they are found.

### Examples

#### VBScript Example

    '

    ' This example creates two shaders in a simple render tree, and applies

    ' texture layers to them.  Then it removes some of the layers, illustrating

    ' the RemoveTextureLayers command.

    ' In particular, it builds the following stacks of layers.

    '

    ' Phong      Fractal

    '   A           A

    '   B           B

    '   C           C

    '

    option explicit

    dim oSph, oPhong, oFractal, oLyr(2)

    ' Build our shaders (a Phong and a Fractal), which will be the "texture

    ' layer containers" that will each be able to hold a stack of layers.

    NewScene , False

    set oSph = CreatePrim( "Sphere", "MeshSurface" )

    set oPhong = SIApplyShader( "Phong", oSph )

    set oFractal = BlendInPresetsInsp( "Fractal", , , True, siReplaceNoBlend, False, False, True )

    ' Now create and add all the layers, as indicated above.

    ' Add 'A', 'B' and 'C' to both containers at the end.

    set oLyr(0) = AddTextureLayer( , oPhong & "," & oFractal, "A", True )

    set oLyr(1) = AddTextureLayer( , oPhong & "," & oFractal, "B", True )

    set oLyr(2) = AddTextureLayer( , oPhong & "," & oFractal, "C", True )

    '

    ' Now start removing.  First we'll remove layer 'A' from just one

    ' of the containers.

    RemoveTextureLayers oLyr(0), oPhong(0)

    ' Now we'll remove layer 'B' from all containers which hold it.

    RemoveTextureLayers oLyr(1)

    PrintTextureLayersInContainer oPhong

    PrintTextureLayersInContainer oFractal

    sub PrintTextureLayersInContainer( in_cont )

    	dim oStack, oItem, oStr

    	oStr = "Texture Layers in Container: " & in_cont & vbCrLf

    	set oStack = EnumElements( in_cont & ".TextureLayers" )

    	for each oItem in oStack

    		oStr = oStr & "    " & oItem.name & vbCrLf

    	next

    	logmessage oStr

    end sub

    '

    ' The output from the example should look something like this:

    '

    'INFO : Texture Layers in Container: sphere.Material.Phong

    '    C

    '

    'INFO : Texture Layers in Container: sphere.Material.Phong.Fractal

    '    A

    '    C

    '

### See Also

AddTextureLayer MoveTextureLayers AddTextureLayerPorts Shader.RemoveTextureLayer Material.RemoveTextureLayer