Exemple #1
0
 public DeleteMapObjectsAction(Universe univ, Scene.RenderScene scene, List <MapEntity> objects, bool setSelection)
 {
     Universe = univ;
     Scene    = scene;
     Deletables.AddRange(objects);
     SetSelection = setSelection;
 }
Exemple #2
0
 public NvmMesh(NvmMesh mesh)
 {
     RenderScene = mesh.RenderScene;
     Resource    = mesh.Resource;
     Resource.Acquire();
     Resource.AddResourceEventListener(this);
 }
Exemple #3
0
 public NvmMesh(Scene.RenderScene scene, Resource.ResourceHandle <Resource.NVMNavmeshResource> res, bool useSecondUV, Dictionary <string, int> boneIndexRemap = null,
                bool ignoreStaticTransforms = false)
 {
     RenderScene = scene;
     Resource    = res;
     Resource.Acquire();
     res.AddResourceEventListener(this);
 }
Exemple #4
0
 public AddMapObjectsAction(Universe univ, Map map, Scene.RenderScene scene, List <MapEntity> objects, bool setSelection)
 {
     Universe = univ;
     Map      = map;
     Scene    = scene;
     Added.AddRange(objects);
     SetSelection = setSelection;
 }
Exemple #5
0
 public CollisionMesh(CollisionMesh mesh)
 {
     RenderScene = mesh.RenderScene;
     Resource    = mesh.Resource;
     Resource.Acquire();
     Resource.AddResourceEventListener(this);
     WindCW = mesh.WindCW;
 }
Exemple #6
0
 public CollisionMesh(Scene.RenderScene scene, Resource.ResourceHandle <Resource.HavokCollisionResource> res, bool windcw)
 {
     RenderScene = scene;
     Resource    = res;
     Resource.Acquire();
     res.AddResourceEventListener(this);
     WindCW = windcw;
 }
Exemple #7
0
        //public RenderTarget2D SceneRenderTarget = null;

        public Viewport(string id, GraphicsDevice device, Scene.RenderScene scene, MsbEditor.ActionManager am, MsbEditor.Selection sel, int width, int height)
        {
            _vpid      = id;
            PrevWidth  = width;
            PrevHeight = height;
            Width      = width;
            Height     = height;
            _device    = device;
            float depth = device.IsDepthRangeZeroToOne ? 1 : 0;

            _renderViewport = new Veldrid.Viewport(0, 0, Width, Height, depth, 1.0f - depth);

            _renderScene = scene;
            _selection   = sel;

            _worldView    = new WorldView(new Veldrid.Rectangle(0, 0, Width, Height));
            _viewPipeline = new Scene.SceneRenderPipeline(scene, device, width, height);
            ViewportGrid  = new DebugPrimitives.DbgPrimWireGrid(Color.Green, Color.DarkGreen, 50, 5.0f);
            //ViewportGrid.CreateDeviceObjects(device, null, ViewPipeline);

            //RenderScene.AddObject(ViewportGrid);

            _projectionMat = Utils.CreatePerspective(device, false, 60.0f * (float)Math.PI / 180.0f, (float)width / (float)height, 0.1f, 2000.0f);
            _frustum       = new BoundingFrustum(_projectionMat);
            _actionManager = am;

            _viewPipeline.SetViewportSetupAction((d, cl) =>
            {
                cl.SetFramebuffer(device.SwapchainFramebuffer);
                cl.SetViewport(0, _renderViewport);
                if (_vpvisible)
                {
                    _clearQuad.Render(d, cl);
                }
                _vpvisible = false;
            });

            _viewPipeline.SetOverlayViewportSetupAction((d, cl) =>
            {
                cl.SetFramebuffer(device.SwapchainFramebuffer);
                cl.SetViewport(0, _renderViewport);
                cl.ClearDepthStencil(0);
            });

            // Create gizmos
            _gizmos = new MsbEditor.Gizmos(_actionManager, _selection, _renderScene.OverlayRenderables);
            Scene.Renderer.AddBackgroundUploadTask((d, cl) =>
            {
                _gizmos.CreateDeviceObjects(d, cl, _viewPipeline);
            });

            _clearQuad = new Scene.FullScreenQuad();
            Scene.Renderer.AddBackgroundUploadTask((gd, cl) =>
            {
                _clearQuad.CreateDeviceObjects(gd, cl);
            });
        }
Exemple #8
0
 public void RegisterWithScene(RenderScene scene)
 {
     if (RenderScene == scene && Registered)
     {
         return;
     }
     else if (RenderScene != scene && Registered)
     {
         UnregisterWithScene();
         RenderScene = scene;
     }
     if (!Resource.IsLoaded)
     {
         return;
     }
     Registered = true;
 }
Exemple #9
0
 public void RegisterWithScene(RenderScene scene)
 {
     if (RenderScene == scene && Registered)
     {
         return;
     }
     else if (RenderScene != scene && Registered)
     {
         UnregisterWithScene();
         RenderScene = scene;
     }
     if (RenderMesh == null)
     {
         return;
     }
     Registered = true;
 }
Exemple #10
0
        public Mesh(Scene.RenderScene scene, BoundingBox bounds, RenderObject mesh)
        {
            RenderScene = scene;
            RenderMesh  = mesh;
            Bounds      = bounds;

            OnWorldMatrixChanged();
            Renderer.AddBackgroundUploadTask((d, cl) =>
            {
                if (RenderMesh != null)
                {
                    RenderMesh.CreateDeviceObjects(d, cl, null);
                    if (AutoRegister)
                    {
                        RegisterWithScene(RenderScene);
                    }
                    Created = true;
                }
            });
        }
Exemple #11
0
 public Universe(AssetLocator al, Scene.RenderScene scene, Selection sel)
 {
     _assetLocator = al;
     _renderScene  = scene;
     Selection     = sel;
 }
 public DisplayGroupsEditor(Scene.RenderScene scene, Selection sel)
 {
     _scene     = scene;
     _selection = sel;
 }
Exemple #13
0
 public NavmeshEditor(Scene.RenderScene scene, Selection sel)
 {
     Scene      = scene;
     _selection = sel;
 }
Exemple #14
0
 public NavmeshEditor(AssetLocator locator, Scene.RenderScene scene, Selection sel)
 {
     _locator   = locator;
     _scene     = scene;
     _selection = sel;
 }
Exemple #15
0
 public Mesh(Mesh mesh)
 {
     RenderScene = mesh.RenderScene;
 }