Пример #1
0
        public override void GetObjectProperties(Mogre.NameValuePairList retList)
        {
            retList.Clear();
            retList["Name"]            = this.name;
            retList["Colour"]          = Mogre.StringConverter.ToString(this.colour);
            retList["Index"]           = Mogre.StringConverter.ToString(ViewportIndex);
            retList["Dimensions"]      = Mogre.StringConverter.ToString(this.dimensions);
            retList["Overlays"]        = Mogre.StringConverter.ToString(this.overlays);
            retList["Skies"]           = Mogre.StringConverter.ToString(this.skies);
            retList["Shadows"]         = Mogre.StringConverter.ToString(this.shadows);
            retList["CamPosition"]     = Mogre.StringConverter.ToString(ViewCamera.Position);
            retList["CamOrientation"]  = Mogre.StringConverter.ToString(ViewCamera.Orientation);
            retList["CamFOV"]          = Mogre.StringConverter.ToString(ViewCamera.FOV);
            retList["CamPolyMode"]     = Mogre.StringConverter.ToString((int)ViewCamera.PolygonMode);
            retList["CamClipDistance"] = Mogre.StringConverter.ToString(ViewCamera.ClipDistance);

            Mogre.CompositorManager comMngr = Mogre.CompositorManager.Singleton;
            if (!comMngr.HasCompositorChain(this.handle))
            {
                return;
            }

            int count = 0;

            Mogre.CompositorChain chain = comMngr.GetCompositorChain(this.handle);
            foreach (Mogre.CompositorInstance compositor in chain.GetCompositors())
            {
                Mogre.Compositor sub = compositor.Compositor;
                if (sub == null)
                {
                    continue;
                }

                if (sub.Name.Substring(1, 7) == "_Hydrax")
                {
                    continue;
                }

                string compId = "Compositor" + Mogre.StringConverter.ToString(count);
                retList[compId + "Name"]    = sub.Name;
                retList[compId + "Enabled"] = Mogre.StringConverter.ToString(compositor.Enabled);
                count++;
            }
        }
Пример #2
0
        private void PopCompositors()
        {
            if (this.compositorStorage.Count == 0)
            {
                return;
            }

            Mogre.CompositorManager comMngr = Mogre.CompositorManager.Singleton;
            if (comMngr.HasCompositorChain(this.handle))
            {
                comMngr.GetCompositorChain(this.handle).RemoveAllCompositors();
            }

            foreach (CompositorPush compData in this.compositorStorage)
            {
                comMngr.AddCompositor(this.handle, compData.Name);
                comMngr.SetCompositorEnabled(this.handle, compData.Name, compData.Enabled);
            }
            this.compositorStorage.Clear();
            Modified = true;
        }
Пример #3
0
        private void PushCompositors(Camera camera)
        {
            if (this.handle != null && this.handle.Camera == camera)
            {
                this.compositorStorage.Clear();

                Mogre.CompositorManager comMngr = Mogre.CompositorManager.Singleton;
                if (!comMngr.HasCompositorChain(this.handle))
                {
                    return;
                }

                Mogre.CompositorChain chain = comMngr.GetCompositorChain(this.handle);

                foreach (Mogre.CompositorInstance compositor in chain.GetCompositors())
                {
                    CompositorPush compData = new CompositorPush();
                    compData.Name    = compositor.Compositor.Name;
                    compData.Enabled = compositor.Enabled;
                    this.compositorStorage.Add(compData);
                }
            }
        }