public Engine(Dictionary <RenderingPaneHwndDescription> renderingPaneHwndDescriptions) { Console.WriteLine("\nMojo initializing...\n"); D3D11.Initialize(out mDxgiFactory, out mD3D11Device); Cuda.Initialize(mD3D11Device); Thrust.Initialize(); Segmenter = new Segmenter { Interop = new Interop.Segmenter(mD3D11Device, mD3D11Device.ImmediateContext, Constants.Parameters) }; Viewers = new Dictionary <Viewer> { { "Segmenter2D", new Viewer { RenderingPane = new RenderingPane(mDxgiFactory, mD3D11Device, mD3D11Device.ImmediateContext, renderingPaneHwndDescriptions.Get("Segmenter2D").Handle, renderingPaneHwndDescriptions.Get("Segmenter2D").Width, renderingPaneHwndDescriptions.Get("Segmenter2D").Height, new Segmenter2D.RenderingStrategy(mD3D11Device, mD3D11Device.ImmediateContext, Segmenter)), UserInputHandler = new Segmenter2D.UserInputHandler(Segmenter) } } }; }