Example #1
0
            private void DestroyRenderTexture()
            {
                if (renderTargetListener != null)
                {
                    renderTexture.RemoveListener(renderTargetListener);
                    renderTargetListener.Dispose();
                    renderTargetListener = null;
                }

                if (viewport != null)
                {
                    viewport.Dispose();
                    viewport = null;
                }

                if (camera != null)
                {
                    camera.Dispose();
                    camera = null;
                }

                renderTexture = null;

                if (texture != null)
                {
                    texture.Dispose();
                    texture = null;
                }
            }
Example #2
0
            ///////////////

            private bool CreateRenderTexture()
            {
                Vec2I size = new Vec2I(512, 256);

                string textureName = TextureManager.Instance.GetUniqueName("RenderToTextureExample");

                texture = TextureManager.Instance.Create(textureName, Texture.Type.Type2D, size, 1, 0,
                                                         PixelFormat.R8G8B8, Texture.Usage.RenderTarget);
                if (texture == null)
                {
                    return(false);
                }

                renderTexture = texture.GetBuffer().GetRenderTarget();
                //you can update render texture manually by means renderTexture.Update() method. For this task set AutoUpdate = false;
                renderTexture.AutoUpdate = true;

                //create camera
                string cameraName = SceneManager.Instance.GetUniqueCameraName("RenderToTextureExample");

                camera         = SceneManager.Instance.CreateCamera(cameraName);
                camera.Purpose = Camera.Purposes.Special;
                camera.AllowMapCompositorManager = false;

                //add viewport
                viewport = renderTexture.AddViewport(camera);
                viewport.BackgroundColor = new ColorValue(0, 0, 0, 1);
                viewport.ShadowsEnabled  = false;
                viewport.MaterialScheme  = "";

                //add listener
                renderTargetListener = new SceneRenderTargetListener(this);
                renderTexture.AddListener(renderTargetListener);

                return(true);
            }
            ///////////////

            private bool CreateRenderTexture()
            {
                Vec2I size = new Vec2I(512, 256);

                string textureName = TextureManager.Instance.GetUniqueName("RenderToTextureExample");
                texture = TextureManager.Instance.Create(textureName, Texture.Type.Type2D, size, 1, 0,
                    PixelFormat.R8G8B8, Texture.Usage.RenderTarget);
                if (texture == null)
                    return false;

                renderTexture = texture.GetBuffer().GetRenderTarget();
                //you can update render texture manually by means renderTexture.Update() method. For this task set AutoUpdate = false;
                renderTexture.AutoUpdate = true;

                //create camera
                string cameraName = SceneManager.Instance.GetUniqueCameraName("RenderToTextureExample");
                camera = SceneManager.Instance.CreateCamera(cameraName);
                camera.Purpose = Camera.Purposes.Special;
                camera.AllowMapCompositorManager = false;

                //add viewport
                viewport = renderTexture.AddViewport(camera);
                viewport.BackgroundColor = new ColorValue(0, 0, 0, 1);
                viewport.ShadowsEnabled = false;
                viewport.MaterialScheme = "";

                //add listener
                renderTargetListener = new SceneRenderTargetListener(this);
                renderTexture.AddListener(renderTargetListener);

                return true;
            }
            private void DestroyRenderTexture()
            {
                if (renderTargetListener != null)
                {
                    renderTexture.RemoveListener(renderTargetListener);
                    renderTargetListener.Dispose();
                    renderTargetListener = null;
                }

                if (viewport != null)
                {
                    viewport.Dispose();
                    viewport = null;
                }

                if (camera != null)
                {
                    camera.Dispose();
                    camera = null;
                }

                renderTexture = null;

                if (texture != null)
                {
                    texture.Dispose();
                    texture = null;
                }
            }