//    Instruction Example :      material.alpha.mode.set (objectid,long)

    Screen.Resolution.Set(512, 384)

        Screen.Set(BACK)
          Pattern.Display("avo\bubble.gif")
    Screen.End()

        @camera   = Camera.Create(0.0, 0.0, -100.0, 0.0, 0.0, 0.0)

        @viewport = Viewport.Create()
        Viewport.Camera.Set(@viewport, @camera)

        @scene    = Scene.Create()

        @material = Material.Create()
        Material.Color.Set(@material, MATERIAL_DIFFUSECOLOR, 96, 128, 192)

    Mesh.Rotation.Stack(-30, 30, 0)
        @mesh = Mesh.Cube.Create(20)
        Scene.Mesh.Assign(@scene, @mesh)

    Mesh.Rotation.Stack(30, -30, 0)
        @torus  = Mesh.Torus.Create(25, 12, 16, 16)
        Mesh.Material.Set(@torus, @material, MATERIAL_FRONTSIDE)
        Scene.Mesh.Assign(@scene, @torus)

        Scene.Display(@scene)
        Viewport.Display(@viewport)

        Screen.Set(FRONT)
          Text.Display("Press a key to activate the Additive mode of blending.", CENTER, 10)
        Keyboard.wait()
          Material.Alpha.Mode.Set(@material, MATERIAL_ALPHAADD)
        Box.Fill.Select()
        Box.Clear(0, 10, 512, 10)

          Text.Display("Press a key to activate the Subtractive mode of blending.", CENTER, 10)
        Keyboard.wait()
          Material.Alpha.Mode.Set(@material, MATERIAL_ALPHASUB)
        Box.Fill.Select()
        Box.Clear(0, 10, 512, 10)

          Text.Display("Press a key to activate the Alphablend mode.", CENTER, 10)
        Keyboard.wait()
          Material.Alpha.Mode.Set(@material, MATERIAL_ALPHABLEND)
          Material.Alpha.Level.Set(@material, 150)
        Box.Fill.Select()
        Box.Clear(0, 10, 512, 10)

          Text.Display("Press a key to exit.", CENTER, 350)
        Keyboard.Wait()
    Screen.End()

        Mesh.Kill(@torus)
        Mesh.Kill(@mesh)
        Material.Kill(@material)
        Scene.Kill(@scene)
        Viewport.Kill(@viewport)
        Camera.Kill(@camera)
    Script.Stop()