Example #1
0
        private void OnLoad(object sender, EventArgs e)
        {
            baseGrid = new ParticleGrid(20, 5, GuiContext);

            ViewerControl.Camera.SetViewportSize(ViewerControl.GLControl.Width, ViewerControl.GLControl.Height);
            ViewerControl.Camera.SetLocation(new Vector3(256));
            ViewerControl.Camera.LookAt(new Vector3(0));

            LoadScene();

            if (Scene.AllNodes.Any())
            {
                var bbox     = Scene.AllNodes.First().BoundingBox;
                var location = new Vector3(bbox.Max.Z, 0, bbox.Max.Z) * 1.5f;

                ViewerControl.Camera.SetLocation(location);
                ViewerControl.Camera.LookAt(bbox.Center);
            }

            staticOctreeRenderer  = new OctreeDebugRenderer <SceneNode>(Scene.StaticOctree, Scene.GuiContext, false);
            dynamicOctreeRenderer = new OctreeDebugRenderer <SceneNode>(Scene.DynamicOctree, Scene.GuiContext, true);

            if (renderModeComboBox != null)
            {
                var supportedRenderModes = Scene.AllNodes
                                           .SelectMany(r => r.GetSupportedRenderModes())
                                           .Distinct();
                SetAvailableRenderModes(supportedRenderModes);
            }

            ViewerControl.GLLoad  -= OnLoad;
            ViewerControl.GLPaint += OnPaint;

            GuiContext.ClearCache();
        }
Example #2
0
        public WorldRenderer(World world, VrfGuiContext vrfGuiContext)
        {
            World      = world;
            guiContext = vrfGuiContext;

            // Do setup
            LoadWorldNodes();
            LoadEntities();

#if DEBUG_OCTREE
            octreeDebugRenderer = new OctreeDebugRenderer <IMeshRenderer>(worldOctree, guiContext);
#endif

            // TODO: Figure out which animations to play on which model renderers
        }
Example #3
0
 protected void SetEnabledLayers(HashSet <string> layers)
 {
     Scene.SetEnabledLayers(layers);
     staticOctreeRenderer = new OctreeDebugRenderer <SceneNode>(Scene.StaticOctree, Scene.GuiContext, false);
 }