             @ctx = null
         @step = 0
 
-    init: (scene, camera) ->
+    init: (scene, camera, add_callback=true) ->
         @add_scene(scene)
         @scene = scene
         @camera = camera
         do_step_callback = (scene, frame_duration)=>
             @do_step()
-        scene.post_draw_callbacks.push do_step_callback
+        if add_callback
+            scene.post_draw_callbacks.push do_step_callback
 
     add_scene: (scene) ->
         for ob in scene.children

                    i += 4
            @ctx.putImageData(@imagedata, 0, 0)
        return
        
    single_step_pick_object: (x, y) ->
        {gl} = @context.render_manager
        @step = 0

            @pixels.subarray(coords.index, coords.index+4))
        gl.scissor(0, 0, @width, @height)
        @pick_object(x, y)

    create_debug_canvas: ->
        if @debug_canvas?
            @destroy_debug_canvas()
