all  /  test_assets  / AlphaBlendModeTest  / AlphaBlendModeTest .usd

Alpha Blend Mode Test

Screenshot

screenshot usdview 21-05

Description

This model tests UsdPreviewSurface alpha modes and blending, especially the interplay between opacity, opacityThreshold, and diffuseColor.

It’s a conversion from the glTF test asset with the same name found here: https://github.com/KhronosGroup/glTF-Sample-Models/blob/master/2.0/AlphaBlendModeTest/README.md.

glTF reference glTF reference

Problem: Opacity Values Used in Opaque Mode

Blender 3.1 Blender 3.1

Problem: Opacity Values combined with opacityThreshold values

QuickLook on iOS 15.6 QuickLook on iOS 15.6

Problem: Incorrect use of default opacityTreshold (?)

Omniverse VIEW 2022.1 Omniverse VIEW 2022.1

License Information

This conversion bears the same license as the source asset.

Copyright 2018 Analytical Graphics, Inc. CC-BY 4.0 https://creativecommons.org/licenses/by/4.0/ Model and textures by Ed Mackey.

Conversion by Felix Herbst.


Edit this page

AlphaBlendModeTest.usd

#usda 1.0
(
    defaultPrim = "AlphaBlendModeTest"
    endTimeCode = 0
    startTimeCode = 0
    metersPerUnit = 0.01
    upAxis = "Y"
)

def Xform "AlphaBlendModeTest"
{
    matrix4d xformOp:transform = ( (-100, 0, -0.000008742277714191005, 0), (0, 100, 0, 0), (0.000008742277714191005, 0, -100, 0), (0, 1.9839999675750732, 0, 1) )
    uniform token[] xformOpOrder = ["xformOp:transform"]

    def Scope "Materials"
    {
        def Material "Mat_Opaque__165642"
        {
            token outputs:displacement
            token outputs:surface.connect = </AlphaBlendModeTest/Materials/Mat_Opaque__165642/PreviewSurface.outputs:surface>
            token[] requiredKeywords

            def Shader "PreviewSurface"
            {
                uniform token info:id = "UsdPreviewSurface"
                float inputs:clearcoat = 0
                float inputs:clearcoatRoughness = 0.01
                float3 inputs:diffuseColor = (0.18, 0.18, 0.18)
                float3 inputs:diffuseColor.connect = </AlphaBlendModeTest/Materials/Mat_Opaque__165642/_BaseColorTexture.outputs:rgb>
                float inputs:displacement = 0
                float3 inputs:emissiveColor = (0, 0, 0)
                float inputs:ior = 1.5
                float inputs:metallic = 0
                float3 inputs:normal = (0, 0, 1)
                float inputs:occlusion = 1
                float inputs:opacity = 1
                float inputs:opacityThreshold = 0
                float inputs:roughness = 0.8
                float3 inputs:specularColor = (0, 0, 0)
                int inputs:useSpecularWorkflow = 1
                token outputs:displacement
                token outputs:surface
                token[] unity:shaderKeywords
                string unity:shaderName
            }
            def Shader "uvReader"
            {
                uniform token info:id = "UsdPrimvarReader_float2"
                float2 inputs:fallback = (0, 0)
                token inputs:varname = "st"
                float2 outputs:result
            }

            def Shader "_BaseColorTexture"
            {
                uniform token info:id = "UsdUVTexture"
                float4 inputs:bias = (0, 0, 0, 0)
                float4 inputs:fallback = (0, 0, 0, 1)
                asset inputs:file = @0/AlphaBlendModeTest_image3_801ab6939d4d9c35de01996b52bc1650.png@
                token inputs:isSRGB = "auto"
                float4 inputs:scale = (1, 1, 1, 1)
                float2 inputs:st = (0, 0)
                float2 inputs:st.connect = </AlphaBlendModeTest/Materials/Mat_Opaque__165642/uvReader.outputs:result>
                token inputs:wrapS = "repeat"
                token inputs:wrapT = "repeat"
                float outputs:a
                float outputs:b
                float outputs:g
                float outputs:r
                float3 outputs:rgb
                float4 outputs:rgba
            }
        }

        def Material "Mat_Blend__165610"
        {
            token outputs:displacement
            token outputs:surface.connect = </AlphaBlendModeTest/Materials/Mat_Blend__165610/PreviewSurface.outputs:surface>
            token[] requiredKeywords

            def Shader "PreviewSurface"
            {
                uniform token info:id = "UsdPreviewSurface"
                float inputs:clearcoat = 0
                float inputs:clearcoatRoughness = 0.01
                float3 inputs:diffuseColor = (0.18, 0.18, 0.18)
                float3 inputs:diffuseColor.connect = </AlphaBlendModeTest/Materials/Mat_Blend__165610/_BaseColorTexture.outputs:rgb>
                float inputs:displacement = 0
                float3 inputs:emissiveColor = (0, 0, 0)
                float inputs:ior = 1.5
                float inputs:metallic = 0
                float3 inputs:normal = (0, 0, 1)
                float inputs:occlusion = 1
                float inputs:opacity = 1
                float inputs:opacity.connect = </AlphaBlendModeTest/Materials/Mat_Blend__165610/_BaseColorTexture.outputs:a>
                float inputs:opacityThreshold = 0
                float inputs:roughness = 0.8
                float3 inputs:specularColor = (0, 0, 0)
                int inputs:useSpecularWorkflow = 1
                token outputs:displacement
                token outputs:surface
                token[] unity:shaderKeywords
                string unity:shaderName
            }

            def Shader "uvReader"
            {
                uniform token info:id = "UsdPrimvarReader_float2"
                float2 inputs:fallback = (0, 0)
                token inputs:varname = "st"
                float2 outputs:result
            }

            def Shader "_BaseColorTexture"
            {
                uniform token info:id = "UsdUVTexture"
                float4 inputs:bias = (0, 0, 0, 0)
                float4 inputs:fallback = (0, 0, 0, 1)
                asset inputs:file = @0/AlphaBlendModeTest_image3_801ab6939d4d9c35de01996b52bc1650.png@
                token inputs:isSRGB = "auto"
                float4 inputs:scale = (1, 1, 1, 1)
                float2 inputs:st = (0, 0)
                float2 inputs:st.connect = </AlphaBlendModeTest/Materials/Mat_Blend__165610/uvReader.outputs:result>
                token inputs:wrapS = "repeat"
                token inputs:wrapT = "repeat"
                float outputs:a
                float outputs:b
                float outputs:g
                float outputs:r
                float3 outputs:rgb
                float4 outputs:rgba
            }
        }

        def Material "Mat_Cutoff_75__165626"
        {
            token outputs:displacement
            token outputs:surface.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_75__165626/PreviewSurface.outputs:surface>
            token[] requiredKeywords

            def Shader "PreviewSurface"
            {
                uniform token info:id = "UsdPreviewSurface"
                float inputs:clearcoat = 0
                float inputs:clearcoatRoughness = 0.01
                float3 inputs:diffuseColor = (0.18, 0.18, 0.18)
                float3 inputs:diffuseColor.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_75__165626/_BaseColorTexture.outputs:rgb>
                float inputs:displacement = 0
                float3 inputs:emissiveColor = (0, 0, 0)
                float inputs:ior = 1.5
                float inputs:metallic = 0
                float3 inputs:normal = (0, 0, 1)
                float inputs:occlusion = 1
                float inputs:opacity = 1
                float inputs:opacity.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_75__165626/_BaseColorTexture.outputs:a>
                float inputs:opacityThreshold = 0.75
                float inputs:roughness = 0.8
                float3 inputs:specularColor = (0, 0, 0)
                int inputs:useSpecularWorkflow = 1
                token outputs:displacement
                token outputs:surface
                token[] unity:shaderKeywords
                string unity:shaderName
            }

            def Shader "uvReader"
            {
                uniform token info:id = "UsdPrimvarReader_float2"
                float2 inputs:fallback = (0, 0)
                token inputs:varname = "st"
                float2 outputs:result
            }

            def Shader "_BaseColorTexture"
            {
                uniform token info:id = "UsdUVTexture"
                float4 inputs:bias = (0, 0, 0, 0)
                float4 inputs:fallback = (0, 0, 0, 1)
                asset inputs:file = @0/AlphaBlendModeTest_image3_801ab6939d4d9c35de01996b52bc1650.png@
                token inputs:isSRGB = "auto"
                float4 inputs:scale = (1, 1, 1, 1)
                float2 inputs:st = (0, 0)
                float2 inputs:st.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_75__165626/uvReader.outputs:result>
                token inputs:wrapS = "repeat"
                token inputs:wrapT = "repeat"
                float outputs:a
                float outputs:b
                float outputs:g
                float outputs:r
                float3 outputs:rgb
                float4 outputs:rgba
            }
        }

        def Material "Mat_Cutoff_Default__165634"
        {
            token outputs:displacement
            token outputs:surface.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_Default__165634/PreviewSurface.outputs:surface>
            token[] requiredKeywords

            def Shader "PreviewSurface"
            {
                uniform token info:id = "UsdPreviewSurface"
                float inputs:clearcoat = 0
                float inputs:clearcoatRoughness = 0.01
                float3 inputs:diffuseColor = (0.18, 0.18, 0.18)
                float3 inputs:diffuseColor.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_Default__165634/_BaseColorTexture.outputs:rgb>
                float inputs:displacement = 0
                float3 inputs:emissiveColor = (0, 0, 0)
                float inputs:ior = 1.5
                float inputs:metallic = 0
                float3 inputs:normal = (0, 0, 1)
                float inputs:occlusion = 1
                float inputs:opacity = 1
                float inputs:opacity.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_Default__165634/_BaseColorTexture.outputs:a>
                float inputs:opacityThreshold = 0.5
                float inputs:roughness = 0.8
                float3 inputs:specularColor = (0, 0, 0)
                int inputs:useSpecularWorkflow = 1
                token outputs:displacement
                token outputs:surface
                token[] unity:shaderKeywords
                string unity:shaderName
            }

            def Shader "uvReader"
            {
                uniform token info:id = "UsdPrimvarReader_float2"
                float2 inputs:fallback = (0, 0)
                token inputs:varname = "st"
                float2 outputs:result
            }

            def Shader "_BaseColorTexture"
            {
                uniform token info:id = "UsdUVTexture"
                float4 inputs:bias = (0, 0, 0, 0)
                float4 inputs:fallback = (0, 0, 0, 1)
                asset inputs:file = @0/AlphaBlendModeTest_image3_801ab6939d4d9c35de01996b52bc1650.png@
                token inputs:isSRGB = "auto"
                float4 inputs:scale = (1, 1, 1, 1)
                float2 inputs:st = (0, 0)
                float2 inputs:st.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_Default__165634/uvReader.outputs:result>
                token inputs:wrapS = "repeat"
                token inputs:wrapT = "repeat"
                float outputs:a
                float outputs:b
                float outputs:g
                float outputs:r
                float3 outputs:rgb
                float4 outputs:rgba
            }
        }

        def Material "Mat_Cutoff_25__165618"
        {
            token outputs:displacement
            token outputs:surface.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_25__165618/PreviewSurface.outputs:surface>
            token[] requiredKeywords

            def Shader "PreviewSurface"
            {
                uniform token info:id = "UsdPreviewSurface"
                float inputs:clearcoat = 0
                float inputs:clearcoatRoughness = 0.01
                float3 inputs:diffuseColor = (0.18, 0.18, 0.18)
                float3 inputs:diffuseColor.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_25__165618/_BaseColorTexture.outputs:rgb>
                float inputs:displacement = 0
                float3 inputs:emissiveColor = (0, 0, 0)
                float inputs:ior = 1.5
                float inputs:metallic = 0
                float3 inputs:normal = (0, 0, 1)
                float inputs:occlusion = 1
                float inputs:opacity = 1
                float inputs:opacity.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_25__165618/_BaseColorTexture.outputs:a>
                float inputs:opacityThreshold = 0.25
                float inputs:roughness = 0.8
                float3 inputs:specularColor = (0, 0, 0)
                int inputs:useSpecularWorkflow = 1
                token outputs:displacement
                token outputs:surface
                token[] unity:shaderKeywords
                string unity:shaderName
            }

            def Shader "uvReader"
            {
                uniform token info:id = "UsdPrimvarReader_float2"
                float2 inputs:fallback = (0, 0)
                token inputs:varname = "st"
                float2 outputs:result
            }

            def Shader "_BaseColorTexture"
            {
                uniform token info:id = "UsdUVTexture"
                float4 inputs:bias = (0, 0, 0, 0)
                float4 inputs:fallback = (0, 0, 0, 1)
                asset inputs:file = @0/AlphaBlendModeTest_image3_801ab6939d4d9c35de01996b52bc1650.png@
                token inputs:isSRGB = "auto"
                float4 inputs:scale = (1, 1, 1, 1)
                float2 inputs:st = (0, 0)
                float2 inputs:st.connect = </AlphaBlendModeTest/Materials/Mat_Cutoff_25__165618/uvReader.outputs:result>
                token inputs:wrapS = "repeat"
                token inputs:wrapT = "repeat"
                float outputs:a
                float outputs:b
                float outputs:g
                float outputs:r
                float3 outputs:rgb
                float4 outputs:rgba
            }
        }

        def Material "Mat_Bed__165602"
        {
            token outputs:displacement
            token outputs:surface.connect = </AlphaBlendModeTest/Materials/Mat_Bed__165602/PreviewSurface.outputs:surface>
            token[] requiredKeywords

            def Shader "PreviewSurface"
            {
                uniform token info:id = "UsdPreviewSurface"
                float inputs:clearcoat = 0
                float inputs:clearcoatRoughness = 0.01
                float3 inputs:diffuseColor = (0.18, 0.18, 0.18)
                float3 inputs:diffuseColor.connect = </AlphaBlendModeTest/Materials/Mat_Bed__165602/_BaseColorTexture.outputs:rgb>
                float inputs:displacement = 0
                float3 inputs:emissiveColor = (0, 0, 0)
                float inputs:ior = 1.5
                float inputs:metallic = 0
                float inputs:metallic.connect = </AlphaBlendModeTest/Materials/Mat_Bed__165602/_MetallicRoughnessTexture.outputs:b>
                float3 inputs:normal = (0, 0, 1)
                float3 inputs:normal.connect = </AlphaBlendModeTest/Materials/Mat_Bed__165602/_NormalTexture.outputs:rgb>
                float inputs:occlusion = 1
                float inputs:opacity = 1
                float inputs:opacityThreshold = 0
                float inputs:roughness = 0.5
                float inputs:roughness.connect = </AlphaBlendModeTest/Materials/Mat_Bed__165602/_MetallicRoughnessTexture.outputs:g>
                float3 inputs:specularColor = (0, 0, 0)
                int inputs:useSpecularWorkflow = 1
                token outputs:displacement
                token outputs:surface
                token[] unity:shaderKeywords
                string unity:shaderName
            }

            def Shader "uvReader"
            {
                uniform token info:id = "UsdPrimvarReader_float2"
                float2 inputs:fallback = (0, 0)
                token inputs:varname = "st"
                float2 outputs:result
            }

            def Shader "_BaseColorTexture"
            {
                uniform token info:id = "UsdUVTexture"
                float4 inputs:bias = (0, 0, 0, 0)
                float4 inputs:fallback = (0, 0, 0, 1)
                asset inputs:file = @0/AlphaBlendModeTest_image2_d151f95487c02f2a13820ace88f0370d.png@
                token inputs:isSRGB = "auto"
                float4 inputs:scale = (1, 1, 1, 1)
                float2 inputs:st = (0, 0)
                float2 inputs:st.connect = </AlphaBlendModeTest/Materials/Mat_Bed__165602/uvReader.outputs:result>
                token inputs:wrapS = "repeat"
                token inputs:wrapT = "repeat"
                float outputs:a
                float outputs:b
                float outputs:g
                float outputs:r
                float3 outputs:rgb
                float4 outputs:rgba
            }

            def Shader "_NormalTexture"
            {
                uniform token info:id = "UsdUVTexture"
                float4 inputs:bias = (-1, -1, -1, 0)
                float4 inputs:fallback = (0, 0, 0, 1)
                asset inputs:file = @0/AlphaBlendModeTest_image0_e93a912e744ba8675c680a67d486a70c.png@
                token inputs:isSRGB = "auto"
                float4 inputs:scale = (2, 2, 2, 1)
                float2 inputs:st = (0, 0)
                float2 inputs:st.connect = </AlphaBlendModeTest/Materials/Mat_Bed__165602/uvReader.outputs:result>
                token inputs:wrapS = "repeat"
                token inputs:wrapT = "repeat"
                token inputs:sourceColorSpace = "raw"
                float outputs:a
                float outputs:b
                float outputs:g
                float outputs:r
                float3 outputs:rgb
                float4 outputs:rgba
            }

            def Shader "_MetallicRoughnessTexture"
            {
                uniform token info:id = "UsdUVTexture"
                float4 inputs:bias = (0, 0, 0, 0)
                float4 inputs:fallback = (0, 0, 0, 1)
                asset inputs:file = @0/AlphaBlendModeTest_image1_b7b61473c6009b01dfe9c6950d4d5ed6.png@
                token inputs:isSRGB = "auto"
                float4 inputs:scale = (1, 1, 1, 1)
                float2 inputs:st = (0, 0)
                float2 inputs:st.connect = </AlphaBlendModeTest/Materials/Mat_Bed__165602/uvReader.outputs:result>
                token inputs:wrapS = "repeat"
                token inputs:wrapT = "repeat"
                float outputs:a
                float outputs:b
                float outputs:g
                float outputs:r
                float3 outputs:rgb
                float4 outputs:rgba
            }
        }
    }

    def Mesh "GreenArrows" (
        prepend apiSchemas = ["MaterialBindingAPI"]
    )
    {
        uniform bool doubleSided
        float3[] extent = [(-3.0900002, -0.48159602, 0), (0, 0.4833804, 0)]
        int[] faceVertexCounts = [3, 3, 3]
        int[] faceVertexIndices = [1, 2, 0, 4, 5, 3, 7, 8, 6]
        rel material:binding = </AlphaBlendModeTest/Materials/Mat_Opaque__165642>
        normal3f[] normals = [(0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1)... (truncated)]
            interpolation = "vertex"
        )
        uniform token orientation
        point3f[] points = [(-1.5, 0, 0), (-1.59, -0.095, 0), (-1.59, 0.095, 0), (0, 0.3883804, 0), ... (truncated)]
        color4f[] primvars:colors (
            elementSize = 1
            interpolation = "vertex"
        )
        float2[] primvars:st = [(0.8133797, 0.3877269), (0.81690603, 0.38423264), (0.81690603, 0.391... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        int[] primvars:st:indices
        float4[] primvars:tangents = [(-0.99984765, -0.01745681, 0, -1), (-0.99984765, -0.01745681, ... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        uniform token purpose
        uniform token subdivisionScheme = "none"
        token visibility
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (-0.5, 1.068150520324707, -0.004999999888241291, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }

    def Mesh "DecalBlend" (
        prepend apiSchemas = ["MaterialBindingAPI"]
    )
    {
        uniform bool doubleSided
        float3[] extent = [(0.992, -0.114, -0.01), (1.2080001, 0.114, -0.01)]
        int[] faceVertexCounts = [3, 3]
        int[] faceVertexIndices = [1, 2, 0, 3, 1, 0]
        rel material:binding = </AlphaBlendModeTest/Materials/Mat_Blend__165610>
        normal3f[] normals = [(0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1)] (
            interpolation = "vertex"
        )
        uniform token orientation
        point3f[] points = [(0.992, 0.114, -0.01), (1.2080001, -0.114, -0.01), (0.992, -0.114, -0.01... (truncated)]
        color4f[] primvars:colors (
            elementSize = 1
            interpolation = "vertex"
        )
        float2[] primvars:st = [(0.9825, 0.33749998), (0.8924999, 0.24249995), (0.9825, 0.24249995),... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        int[] primvars:st:indices
        float4[] primvars:tangents = [(-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1)... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        uniform token purpose
        uniform token subdivisionScheme = "none"
        token visibility
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 0.554699182510376, 0.8320509195327759, 0), (0, -0.8320509195327759, 0.554699182510376, 0), (0, 0, -0.4090209901332855, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }

    def Mesh "DecalOpaque" (
        prepend apiSchemas = ["MaterialBindingAPI"]
    )
    {
        uniform bool doubleSided
        float3[] extent = [(-3.29, -0.156, -0.00999999), (3.29, 0.156, 5.364418e-7)]
        int[] faceVertexCounts = [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
        int[] faceVertexIndices = [1, 2, 0, 3, 1, 0, 5, 6, 4, 7, 5, 4, 9, 10, 8, 11, 9, 8, 13, 14, 1... (truncated)]
        rel material:binding = </AlphaBlendModeTest/Materials/Mat_Opaque__165642>
        normal3f[] normals = [(0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1)... (truncated)]
            interpolation = "vertex"
        )
        uniform token orientation
        point3f[] points = [(0.992, 0.11400002, 5.364418e-7), (1.208, -0.11400001, 5.364418e-7), (0.... (truncated)]
        color4f[] primvars:colors (
            elementSize = 1
            interpolation = "vertex"
        )
        float2[] primvars:st = [(0.87, 0.45499992), (0.78000003, 0.36), (0.87, 0.36), (0.78000003, 0... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        int[] primvars:st:indices
        float4[] primvars:tangents = [(-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1)... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        uniform token purpose
        uniform token subdivisionScheme = "none"
        token visibility
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 0.554699182510376, 0.8320509195327759, 0), (0, -0.8320509195327759, 0.554699182510376, 0), (0, 0, -0.4090207517147064, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }

    def Mesh "TestCutoff75" (
        prepend apiSchemas = ["MaterialBindingAPI"]
    )
    {
        uniform bool doubleSided
        float3[] extent = [(-0.55, 0.10000014, 0), (0.55, 1.9699998, 0)]
        int[] faceVertexCounts = [3, 3]
        int[] faceVertexIndices = [1, 2, 0, 3, 1, 0]
        rel material:binding = </AlphaBlendModeTest/Materials/Mat_Cutoff_75__165626>
        normal3f[] normals = [(0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1)] (
            interpolation = "vertex"
        )
        uniform token orientation
        point3f[] points = [(-0.55, 1.9699998, 0), (0.55, 0.10000008, 0), (-0.55, 0.10000008, 0), (0... (truncated)]
        color4f[] primvars:colors (
            elementSize = 1
            interpolation = "vertex"
        )
        float2[] primvars:st = [(0.675, 0.95), (0.12500022, 0.014999986), (0.675, 0.014999986), (0.1... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        int[] primvars:st:indices
        float4[] primvars:tangents = [(-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1)... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        uniform token purpose
        uniform token subdivisionScheme = "none"
        token visibility
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (-3, 0, 0, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }

    def Mesh "TestCutoffDefault" (
        prepend apiSchemas = ["MaterialBindingAPI"]
    )
    {
        uniform bool doubleSided
        float3[] extent = [(-0.55, 0.10000014, 0), (0.55, 1.9699998, 0)]
        int[] faceVertexCounts = [3, 3]
        int[] faceVertexIndices = [1, 2, 0, 3, 1, 0]
        rel material:binding = </AlphaBlendModeTest/Materials/Mat_Cutoff_Default__165634>
        normal3f[] normals = [(0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1)] (
            interpolation = "vertex"
        )
        uniform token orientation
        point3f[] points = [(-0.55, 1.9699998, 0), (0.55, 0.10000008, 0), (-0.55, 0.10000008, 0), (0... (truncated)]
        color4f[] primvars:colors (
            elementSize = 1
            interpolation = "vertex"
        )
        float2[] primvars:st = [(0.675, 0.95), (0.12500022, 0.014999986), (0.675, 0.014999986), (0.1... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        int[] primvars:st:indices
        float4[] primvars:tangents = [(-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1)... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        uniform token purpose
        uniform token subdivisionScheme = "none"
        token visibility
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (-1.5, 0, 0, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }

    def Mesh "TestCutoff25" (
        prepend apiSchemas = ["MaterialBindingAPI"]
    )
    {
        uniform bool doubleSided
        float3[] extent = [(-0.55, 0.10000014, 0), (0.55, 1.9699998, 0)]
        int[] faceVertexCounts = [3, 3]
        int[] faceVertexIndices = [1, 2, 0, 3, 1, 0]
        rel material:binding = </AlphaBlendModeTest/Materials/Mat_Cutoff_25__165618>
        normal3f[] normals = [(0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1)] (
            interpolation = "vertex"
        )
        uniform token orientation
        point3f[] points = [(-0.55, 1.9699998, 0), (0.55, 0.10000008, 0), (-0.55, 0.10000008, 0), (0... (truncated)]
        color4f[] primvars:colors (
            elementSize = 1
            interpolation = "vertex"
        )
        float2[] primvars:st = [(0.675, 0.95), (0.12500022, 0.014999986), (0.675, 0.014999986), (0.1... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        int[] primvars:st:indices
        float4[] primvars:tangents = [(-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1)... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        uniform token purpose
        uniform token subdivisionScheme = "none"
        token visibility
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }

    def Mesh "TestBlend" (
        prepend apiSchemas = ["MaterialBindingAPI"]
    )
    {
        uniform bool doubleSided
        float3[] extent = [(-0.55, 0.10000014, 0), (0.55, 1.9699998, 0)]
        int[] faceVertexCounts = [3, 3]
        int[] faceVertexIndices = [1, 2, 0, 3, 1, 0]
        rel material:binding = </AlphaBlendModeTest/Materials/Mat_Blend__165610>
        normal3f[] normals = [(0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1)] (
            interpolation = "vertex"
        )
        uniform token orientation
        point3f[] points = [(-0.55, 1.9699998, 0), (0.55, 0.10000008, 0), (-0.55, 0.10000008, 0), (0... (truncated)]
        color4f[] primvars:colors (
            elementSize = 1
            interpolation = "vertex"
        )
        float2[] primvars:st = [(0.675, 0.95), (0.12500022, 0.014999986), (0.675, 0.014999986), (0.1... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        int[] primvars:st:indices
        float4[] primvars:tangents = [(-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1)... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        uniform token purpose
        uniform token subdivisionScheme = "none"
        token visibility
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (1.5, 0, 0, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }

    def Mesh "TestOpaque" (
        prepend apiSchemas = ["MaterialBindingAPI"]
    )
    {
        uniform bool doubleSided
        float3[] extent = [(-0.55, 0.10000014, 0), (0.55, 1.9699998, 0)]
        int[] faceVertexCounts = [3, 3]
        int[] faceVertexIndices = [1, 2, 0, 3, 1, 0]
        rel material:binding = </AlphaBlendModeTest/Materials/Mat_Opaque__165642>
        normal3f[] normals = [(0, 0, -1), (0, 0, -1), (0, 0, -1), (0, 0, -1)] (
            interpolation = "vertex"
        )
        uniform token orientation
        point3f[] points = [(-0.55, 1.9699998, 0), (0.55, 0.10000008, 0), (-0.55, 0.10000008, 0), (0... (truncated)]
        color4f[] primvars:colors (
            elementSize = 1
            interpolation = "vertex"
        )
        float2[] primvars:st = [(0.675, 0.95), (0.12500022, 0.014999986), (0.675, 0.014999986), (0.1... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        int[] primvars:st:indices
        float4[] primvars:tangents = [(-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1), (-1, 0, 0, -1)... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        uniform token purpose
        uniform token subdivisionScheme = "none"
        token visibility
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (3, 0, 0, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }

    def Mesh "Bed" (
        prepend apiSchemas = ["MaterialBindingAPI"]
    )
    {
        uniform bool doubleSided
        float3[] extent = [(-4.3, -0.099999905, -0.54999995), (4.3, 2.2995334, 0.75)]
        int[] faceVertexCounts = [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, ... (truncated)]
        int[] faceVertexIndices = [1, 2, 0, 4, 5, 3, 7, 8, 6, 10, 11, 9, 13, 14, 12, 16, 17, 15, 19,... (truncated)]
        rel material:binding = </AlphaBlendModeTest/Materials/Mat_Bed__165602>
        normal3f[] normals = [(1, 0, 0), (1, 0, 0), (1, 0, 0), (0, 0, 0.99999994), (0, 0, 0.99999994... (truncated)]
            interpolation = "vertex"
        )
        uniform token orientation
        point3f[] points = [(4.3, 0.100000024, -0.25), (4.3, -0.100000024, 0.75), (4.3, -0.100000024... (truncated)]
        color4f[] primvars:colors (
            elementSize = 1
            interpolation = "vertex"
        )
        float2[] primvars:st = [(0.9717224, 0.11805558), (0.9974293, 0.002314806), (0.9974293, 0.152... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        int[] primvars:st:indices
        float4[] primvars:tangents = [(0, -1, 0, -1), (0, -1, 0, -1), (0, -1, 0, -1), (0, -1, 0, -1)... (truncated)]
            elementSize = 1
            interpolation = "vertex"
        )
        uniform token purpose
        uniform token subdivisionScheme = "none"
        token visibility
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }
}