//    Instruction Example :      mesh.cull.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)

    Mesh.Rotation.Stack(-30, 30, 0)
        @mesh = Mesh.Cube.Create(40)

        Mesh.Display(@mesh)
        Viewport.Display(@viewport)

        Screen.Set(FRONT)
          Text.Display("Press a key to cull the front facing polygons.", CENTER, 10)
        Keyboard.Wait()
          Mesh.Cull.Mode.Set(@mesh, MESH_CULLFRONT)
        Box.Fill.Select()
        Box.Clear(0, 10, 512, 10)

          Text.Display("Press a key to perform no cull at all.", CENTER, 10)
        Keyboard.Wait()
          Mesh.Cull.Mode.Set(@mesh, MESH_CULLNONE)
          Camera.NearPlane.Set(@camera, 90)
          Text.Display("The near plane of the camera is used to show that all the polygons", CENTER, 330)
          Text.Display(" are visible.", CENTER, 340)

          Text.Display("Press a key to come back to the default back facing polygons culling.", CENTER, 10)
        Keyboard.Wait()
          Mesh.Cull.Mode.Set(@mesh, MESH_CULLBACK)
          Camera.NearPlane.Set(@camera, 10)
        Box.Fill.Select()
        Box.Clear(0, 10, 512, 20)
        Box.Fill.Select()
        Box.Clear(0, 330, 512, 350)

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

        Mesh.Kill(@mesh)
        Viewport.Kill(@viewport)
        Camera.Kill(@camera)
    Script.Stop()