示例#1
0
        public bool ShowViewer(IntPtr handle, int width, int height, swig.DeviceType deviceType)
        {
            if (isViewerShown)
            {
                return(false);
            }

            if (native == null)
            {
                throw new Exception("native is null.");
            }

            ViewPointController = new swig.ViewPointController();

            ViewPointController.ProjectionStyle = deviceType == swig.DeviceType.OpenGL ? swig.ProjectionMatrixStyle.OpenGLStyle : swig.ProjectionMatrixStyle.DirectXStyle;

            if (native.CreateWindow_Effekseer(
                    handle,
                    width <= 0 ? 1 : width,
                    height <= 0 ? 1 : height,
                    Core.Option.ColorSpace.Value == Data.OptionValues.ColorSpaceType.LinearSpace,
                    deviceType))
            {
                isViewerShown = true;
            }
            else
            {
                var message = MultiLanguageTextProvider.GetText("System_FailedToInitialize");
                Core.OnOutputMessage(message);
                return(false);
            }

            ViewMode_OnChanged(null, null);
            Core.Option.ViewerMode.OnChanged += ViewMode_OnChanged;

            Core.Option.RenderingMode.OnChanged += RenderingMode_OnChanged;
            RenderingMode_OnChanged(null, null);

            Bloom_OnChanged(null, null);
            Core.Environment.PostEffect.BloomSwitch.OnChanged     += Bloom_OnChanged;
            Core.Environment.PostEffect.Bloom.Intensity.OnChanged += Bloom_OnChanged;
            Core.Environment.PostEffect.Bloom.Threshold.OnChanged += Bloom_OnChanged;
            Core.Environment.PostEffect.Bloom.SoftKnee.OnChanged  += Bloom_OnChanged;

            Tonemap_OnChanged(null, null);
            Core.Environment.PostEffect.TonemapSelector.OnChanged          += Tonemap_OnChanged;
            Core.Environment.PostEffect.TonemapReinhard.Exposure.OnChanged += Tonemap_OnChanged;

            effectFactory = new swig.EffectFactory(native);

            return(true);
        }
示例#2
0
        public bool Initialize(swig.DeviceType deviceType)
        {
            if (isViewerShown)
            {
                return(false);
            }

            // because internal buffer is 16bit
            var spriteCount = 65000 / 4;

            effectSetting = swig.EffectSetting.Create(hardwareDevice.GraphicsDevice, hardwareDevice.SoundDevice);

            EffectRenderer = new swig.MainScreenEffectRenderer();
            EffectRenderer.Initialize(hardwareDevice.GraphicsDevice, hardwareDevice.SoundDevice, effectSetting, spriteCount, hardwareDevice.GraphicsDevice.GetIsSRGBMode());

            ViewPointController = new swig.ViewPointController();

            ViewPointController.ProjectionStyle = deviceType == swig.DeviceType.OpenGL ? swig.ProjectionMatrixStyle.OpenGLStyle : swig.ProjectionMatrixStyle.DirectXStyle;

            ViewMode_OnChanged(null, null);
            Core.Option.ViewerMode.OnChanged += ViewMode_OnChanged;

            Core.Option.RenderingMode.OnChanged += RenderingMode_OnChanged;
            RenderingMode_OnChanged(null, null);

            Bloom_OnChanged(null, null);
            Core.Environment.PostEffect.BloomSwitch.OnChanged     += Bloom_OnChanged;
            Core.Environment.PostEffect.Bloom.Intensity.OnChanged += Bloom_OnChanged;
            Core.Environment.PostEffect.Bloom.Threshold.OnChanged += Bloom_OnChanged;
            Core.Environment.PostEffect.Bloom.SoftKnee.OnChanged  += Bloom_OnChanged;

            Tonemap_OnChanged(null, null);
            Core.Environment.PostEffect.TonemapSelector.OnChanged          += Tonemap_OnChanged;
            Core.Environment.PostEffect.TonemapReinhard.Exposure.OnChanged += Tonemap_OnChanged;

            effectFactory = new swig.EffectFactory(effectSetting);

            isViewerShown = true;

            return(true);
        }