public override void OnEnable() { et = EffectType.EdgeDetection; CreateMaterial(); oldMode = mode; SetCameraFlag(); }
void OnRenderImage(RenderTexture src, RenderTexture dest) { if (oldMode != mode) { SetCameraFlag(); oldMode = mode; } if (material != null) { material.SetTexture("_NoiseTex", noiseTex); material.SetFloat("_EdgeOnly", edgesOnly); material.SetFloat("_ErrorPeriod", errorPeriod); material.SetFloat("_ErrorRange", errorRange); material.SetFloat("_NoiseAmount", noiseAmount); material.SetColor("_EdgeColor", edgeColor); material.SetColor("_BackgroundColor", backgroundColor); material.SetFloat("_SampleDistance", sampleDistance); material.SetVector("_Sensitivity", new Vector4(sensitivityNormals, sensitivityDepth, 0.0f, 0.0f)); RenderTexture buffer = RenderTexture.GetTemporary(src.width, src.height, 0); Graphics.Blit(src, buffer, material, (int)mode); material.SetTexture("_EdgeTex", buffer); Graphics.Blit(src, dest, material, 3); RenderTexture.ReleaseTemporary(buffer); } else { Graphics.Blit(src, dest); } }
public override void PreProcess(RenderTexture source, RenderTexture destination) { if (material == null) { CreateMaterial(); } if (material != null)// && mGlowEnable) { if (mode != oldMode) { SetCameraFlag(); } oldMode = mode; if (EarlyOutIfNotSupported(source, destination)) { return; } Vector2 sensitivity = new Vector2(sensitivityDepth, sensitivityNormals); material.SetVector("_Sensitivity", new Vector4(sensitivity.x, sensitivity.y, 1.0f, sensitivity.y)); material.SetFloat("_BgFade", edgesOnly); material.SetFloat("_SampleDistance", sampleDist); material.SetVector("_BgColor", edgesOnlyBgColor); material.SetFloat("_Exponent", edgeExp); material.SetFloat("_Threshold", lumThreshold); Graphics.Blit(source, destination, material, (int)mode); } }
void SetCameraFlag() { if (mode == oldMode) { return; } if (oldMode == EdgeDetectMode.SobelDepth || oldMode == EdgeDetectMode.SobelDepthThin) { ImageEffectManager.API_DeAttachCameraRenderFlags(m_Camera, ref flagReference); } else if (oldMode == EdgeDetectMode.TriangleDepthNormals || oldMode == EdgeDetectMode.RobertsCrossDepthNormals) { ImageEffectManager.API_DeAttachCameraRenderFlags(m_Camera, ref flagReference); } if (mode == EdgeDetectMode.SobelDepth || mode == EdgeDetectMode.SobelDepthThin) { flagReference = ImageEffectManager.API_AttachCameraRenderFlags(m_Camera, DepthTextureMode.Depth); } else if (mode == EdgeDetectMode.TriangleDepthNormals || mode == EdgeDetectMode.RobertsCrossDepthNormals) { flagReference = ImageEffectManager.API_AttachCameraRenderFlags(m_Camera, DepthTextureMode.DepthNormals); } oldMode = mode; }
void OnRenderImage (RenderTexture src, RenderTexture dest) { if (oldMode != mode) { SetCameraFlag(); oldMode = mode; } if (material != null) { material.SetTexture("_NoiseTex", noiseTex); material.SetFloat("_EdgeOnly", edgesOnly); material.SetFloat("_ErrorPeriod", errorPeriod); material.SetFloat("_ErrorRange", errorRange); material.SetFloat("_NoiseAmount", noiseAmount); material.SetColor("_EdgeColor", edgeColor); material.SetColor("_BackgroundColor", backgroundColor); material.SetFloat("_SampleDistance", sampleDistance); material.SetVector("_Sensitivity", new Vector4(sensitivityNormals, sensitivityDepth, 0.0f, 0.0f)); RenderTexture buffer = RenderTexture.GetTemporary(src.width, src.height, 0); Graphics.Blit(src, buffer, material, (int)mode); material.SetTexture("_EdgeTex", buffer); Graphics.Blit(src, dest, material, 3); RenderTexture.ReleaseTemporary(buffer); } else { Graphics.Blit(src, dest); } }
public EdgeDetectEffectNormals() { this.mode = EdgeDetectMode.SobelDepthThin; this.sensitivityDepth = 1f; this.sensitivityNormals = 1f; this.lumThreshhold = 0.2f; this.edgeExp = 1f; this.sampleDist = 1f; this.edgesOnlyBgColor = Color.white; this.oldMode = EdgeDetectMode.SobelDepthThin; }
public override bool CheckResources () { CheckSupport (true); edgeDetectMaterial = CheckShaderAndCreateMaterial (edgeDetectShader,edgeDetectMaterial); if (mode != oldMode) SetCameraFlag (); oldMode = mode; if (!isSupported) ReportAutoDisable (); return isSupported; }
public override bool CheckResources() { this.CheckSupport (true); this.edgeDetectMaterial = this.CheckShaderAndCreateMaterial (this.edgeDetectShader, this.edgeDetectMaterial); if (this.mode != this.oldMode) this.SetCameraFlag (); this.oldMode = this.mode; if (!this.isSupported) this.ReportAutoDisable (); return this.isSupported; }
public override bool CheckResources() { base.CheckSupport(true); this.edgeDetectMaterial = base.CheckShaderAndCreateMaterial(this.edgeDetectShader, this.edgeDetectMaterial); if (this.mode != this.oldMode) { this.SetCameraFlag(); } this.oldMode = this.mode; if (!base.isSupported) { base.ReportAutoDisable(); } return(base.isSupported); }
public bool CheckResources() { CheckSupport(needDepth: true); edgeDetectMaterial = CheckShaderAndCreateMaterial(edgeDetectShader, edgeDetectMaterial); if (mode != oldMode) { SetCameraFlag(); } oldMode = mode; if (!isSupported) { ReportAutoDisable(); } return(isSupported); }
public override bool CheckResources() { CheckSupport(mode != EdgeDetectMode.TriangleLuminance); edgeDetectMaterial = CheckShaderAndCreateMaterial(edgeDetectShader, edgeDetectMaterial); if (mode != oldMode) { SetCameraFlag(); } oldMode = mode; if (!isSupported) { ReportAutoDisable(); } return(isSupported); }
public override bool CheckResources () { CheckSupport (true); if (edgeDetectShader == null) { edgeDetectShader = Shader.Find("Hidden/EdgeDetectColors"); } edgeDetectMaterial = CheckShaderAndCreateMaterial (edgeDetectShader,edgeDetectMaterial); if (mode != oldMode) SetCameraFlag (); oldMode = mode; if (!isSupported) ReportAutoDisable (); return isSupported; }
public override bool CheckResources() { CheckSupport(true); edgeDetectMaterial = CheckShaderAndCreateMaterial(edgeDetectShader, edgeDetectMaterial); // Debug.LogWarning(edgeDetectShader); if (mode != oldMode) { SetCameraFlag(); } oldMode = mode; if (!isSupported) { ReportAutoDisable(); } return(isSupported); }
void OnPostRender() { Vector2 sensitivity = new Vector2(sensitivityDepth, sensitivityNormals); PostprocessMaterials[0].SetVector("_Sensitivity", new Vector4(sensitivity.x, sensitivity.y, 1.0f, sensitivity.y)); PostprocessMaterials[0].SetFloat("_BgFade", edgesOnly); PostprocessMaterials[0].SetFloat("_SampleDistance", sampleDist); PostprocessMaterials[0].SetVector("_BgColor", edgesOnlyBgColor); PostprocessMaterials[0].SetFloat("_Exponent", edgeExp); PostprocessMaterials[0].SetFloat("_Threshold", lumThreshold); Graphics.SetRenderTarget(Temp.colorBuffer, CameraRT.depthBuffer); Graphics.Blit(CameraRT, NormalRender); if (pfno != 0) { mode = 0; } Graphics.Blit(CameraRT, PostprocessMaterials[(int)pfno], (int)mode); RenderTexture.active = null; Graphics.Blit(Temp, NormalRender); }
public override bool CheckResources() { CheckSupport(true); edgeDetectMaterial = CreateMaterialFromString(edgeDetectMaterial, HiddenShaderText.realCoolEdge);// This is where you'll want to plug the string in. if (mode != oldMode) { SetCameraFlag(); } oldMode = mode; if (!isSupported) { ReportAutoDisable(); } return(isSupported); }
public override bool CheckResources() { CheckSupport(true); if (_camera) { _camera = GetComponent <Camera>(); } edgeDetectMaterial = CheckShaderAndCreateMaterial(edgeDetectShader, edgeDetectMaterial); if (mode != oldMode) { SetCameraFlag(); } oldMode = mode; if (!isSupported) { ReportAutoDisable(); } return(isSupported); }
public override bool CheckResources() { CheckSupport(true); edgeDetectMaterial = CheckShaderAndCreateMaterial(edgeDetectShader, edgeDetectMaterial); if (edgeDetectShader == null) { edgeDetectShader = (Shader)Resources.Load("EdgeDetectNormals.shader"); } if (mode != oldMode) { SetCameraFlag(); } oldMode = mode; if (!isSupported) { ReportAutoDisable(); } return(isSupported); }
public override void ToParam(object[] o) { if (o[0] != null) { this.mode = (EdgeDetectMode)(o[0]); } if (o[1] != null) { this.sensitivityDepth = Convert.ToSingle(o[1]); } if (o[2] != null) { sensitivityNormals = Convert.ToSingle(o[2]); } if (o[3] != null) { lumThreshold = Convert.ToSingle(o[3]); } if (o[4] != null) { edgeExp = Convert.ToSingle(o[4]); } if (o[5] != null) { sampleDist = Convert.ToSingle(o[5]); } if (o[6] != null) { edgesOnly = Convert.ToSingle(o[6]); } if (o[7] != null) { edgesOnlyBgColor = (Color)o[7]; } }
private new void Start() { oldMode = mode; }
public override void OnEnable() { oldMode = mode; SetCameraFlag(); }
new void Start () { oldMode = mode; }
private void Start() { this.oldMode = this.mode; }
new void Start() { this.oldMode = this.mode; }
public override void Start() { this.oldMode = this.mode; }
new void Start() { oldMode = mode; }
public void Start() { oldMode = mode; }