12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using System;
- using UnityEngine;
- public class ScreenLoading : PostEffectsBase
- {
- public override bool CheckResources()
- {
- this.CheckSupport(false);
- this.overlayMaterial = this.CheckShaderAndCreateMaterial(this.overlayShader, this.overlayMaterial);
- if (!this.isSupported)
- {
- this.ReportAutoDisable();
- }
- return this.isSupported;
- }
- private void OnRenderImage(RenderTexture source, RenderTexture destination)
- {
- if (!this.CheckResources())
- {
- Graphics.Blit(source, destination);
- return;
- }
- Vector4 value = new Vector4(1f, 0f, 0f, 1f);
- this.overlayMaterial.SetVector("_UV_Transform", value);
- this.overlayMaterial.SetFloat("_Intensity", this.intensity);
- this.overlayMaterial.SetTexture("_Overlay", this.texture);
- Graphics.Blit(source, destination, this.overlayMaterial, (int)this.blendMode);
- }
- public ScreenLoading.OverlayBlendMode blendMode = ScreenLoading.OverlayBlendMode.Overlay;
- public float intensity = 1f;
- public Texture2D texture;
- public Shader overlayShader;
- private Material overlayMaterial;
- public enum OverlayBlendMode
- {
- Additive,
- ScreenBlend,
- Multiply,
- Overlay,
- AlphaBlend
- }
- }
|