Beispiel #1
0
        /**
         * @brief build a scene with code, only for test use
         *
         * @param the scene object
         *
         * @result success?
         * */
        public static bool PostLoadScene(Scene scene)
        {
            PostProcessColorAdjustment colorAdjustment =
                scene.m_postProcessManager.GetPostProcess(typeof(PostProcessColorAdjustment).ToString())
                as PostProcessColorAdjustment;
            PostProcessBloom bloom =
                scene.m_postProcessManager.GetPostProcess(typeof(PostProcessBloom).ToString())
                as PostProcessBloom;
            PostProcessMotionBlur motionBlur =
                scene.m_postProcessManager.GetPostProcess(typeof(PostProcessMotionBlur).ToString())
                as PostProcessMotionBlur;
            PostProcessVignette vignette =
                scene.m_postProcessManager.GetPostProcess(typeof(PostProcessVignette).ToString())
                as PostProcessVignette;

            //
            colorAdjustment.AddDependOn(scene._renderList);
            bloom.AddDependOn(colorAdjustment);
            motionBlur.AddDependOn(bloom);
            vignette.AddDependOn(motionBlur);
            scene.m_postProcessManager.SetEndPostProcess(typeof(PostProcessVignette).ToString());

            //             scene.PostProcessManager.AddPostProcess(typeof(PostProcessColorAdjustment).ToString(),
            //                  scene.m_colorAdjustment);
            //             scene.PostProcessManager.AddPostProcess(typeof(PostProcessBloom).ToString(),
            //                  scene.m_bloom);
            //             scene.PostProcessManager.AddPostProcess(typeof(PostProcessMotionBlur).ToString(),
            //                  scene.m_motionBlur);
            //             scene.PostProcessManager.AddPostProcess(typeof(PostProcessVignette).ToString(),
            //                  scene.m_vignette);
            // TODO: test if the effect files exist
            //             scene.m_motionBlur = new PostProcessMotionBlur();
            //             scene.m_motionBlur.AddDependOn(scene._renderList);
            //             scene.PostProcessManager.AddPostProcess(typeof(PostProcessMotionBlur).ToString(),
            //                 scene.m_motionBlur);
            //             scene.m_colorAdjustment = new PostProcessColorAdjustment();
            //             scene.m_colorAdjustment.AddDependOn(scene.m_motionBlur);
            //             scene.PostProcessManager.AddPostProcess(typeof(PostProcessColorAdjustment).ToString(),
            //                 scene.m_colorAdjustment);
            //             scene.m_vignette = new PostProcessVignette();
            //             scene.m_vignette.AddDependOn(scene.m_colorAdjustment);
            //             scene.PostProcessManager.AddPostProcess(typeof(PostProcessVignette).ToString(),
            //                 scene.m_vignette);
            //             PostProcessHDR hdr = new PostProcessHDR();
            //             hdr.AddDependOn(scene._renderList);
            //             scene.PostProcessManager.AddPostProcess(typeof(PostProcessHDR).ToString(),
            //                 hdr);
            scene.m_bloom = new PostProcessBloom();
            scene.m_bloom.AddDependOn(scene.m_vignette);
            scene.PostProcessManager.AddPostProcess(typeof(PostProcessBloom).ToString(),
                                                    scene.m_bloom);

            return(true);
        }