Example #1
0
 void OnDisable()
 {
     if (pencilRenderer != null)
     {
         pencilRenderer.Dispose();
         pencilRenderer = null;
     }
 }
Example #2
0
        private void InitialSetup()
        {
            var camera = GetComponent <Camera>();

            if (camera != null)
            {
                if (this.pencilRenderer == null)
                {
                    this.pencilRenderer = new PencilLineRenderer(camera, (targetCam) =>
                    {
                        return(new Size {
                            Width = camera.pixelWidth, Height = camera.pixelHeight
                        });
                    });
                }

                Shader lineDispShader = Shader.Find("Hidden/Pcl4LineDisp");
                lineDispMaterial = new Material(lineDispShader);
            }
        }
Example #3
0
        /// <inheritdoc/>
        public override IEnumerator BeginCapture()
        {
#if AT_USE_PENCILLINE
            Assert.IsNotNull(m_pencilLineEffect);

            m_prevPencilLineEffectEnabled = m_pencilLineEffect.enabled;
            m_pencilLineEffect.enabled    = true;
            yield return(null); //need one frame for PencilLine to construct its PencilLineRenderer

            PencilLineRenderer lineRenderer = m_pencilLineEffect.PencilRenderer;
            Assert.IsNotNull(lineRenderer);

            ReleaseRenderTexture();
            m_pencilTex = lineRenderer.Texture;

            m_rt = new RenderTexture(m_pencilTex.width, m_pencilTex.height, 0);
            m_rt.Create();
#else
            yield return(null);
#endif
        }
        /// <inheritdoc/>
        public override bool BeginCapture()
        {
            if (null == m_pencilLineEffect)
            {
                SetErrorMessage("PencilLineEffect is not set on " + gameObject.name);
                return(false);
            }

            PencilLineRenderer lineRenderer = m_pencilLineEffect.PencilRenderer;

            if (null == lineRenderer)
            {
                SetErrorMessage("PencilLineEffect doesn't have PencilRenderer on " + gameObject.name);
                return(false);
            }

            ReleaseRenderTexture();
            m_pencilTex = lineRenderer.Texture;

            m_rt = new RenderTexture(m_pencilTex.width, m_pencilTex.height, 0);
            m_rt.Create();

            return(true);
        }