mirror of
https://github.com/FriendshipIsEpic/FiE-Game.git
synced 2024-12-02 01:47:58 +01:00
46 lines
1.4 KiB
C#
46 lines
1.4 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace UnityStandardAssets.ImageEffects
|
|
{
|
|
[ExecuteInEditMode]
|
|
[RequireComponent (typeof(Camera))]
|
|
[AddComponentMenu ("Image Effects/Displacement/Fisheye")]
|
|
public class Fisheye : PostEffectsBase
|
|
{
|
|
[Range(0.0f, 1.5f)]
|
|
public float strengthX = 0.05f;
|
|
[Range(0.0f, 1.5f)]
|
|
public float strengthY = 0.05f;
|
|
|
|
public Shader fishEyeShader = null;
|
|
private Material fisheyeMaterial = null;
|
|
|
|
|
|
public override bool CheckResources ()
|
|
{
|
|
CheckSupport (false);
|
|
fisheyeMaterial = CheckShaderAndCreateMaterial(fishEyeShader,fisheyeMaterial);
|
|
|
|
if (!isSupported)
|
|
ReportAutoDisable ();
|
|
return isSupported;
|
|
}
|
|
|
|
void OnRenderImage (RenderTexture source, RenderTexture destination)
|
|
{
|
|
if (CheckResources()==false)
|
|
{
|
|
Graphics.Blit (source, destination);
|
|
return;
|
|
}
|
|
|
|
float oneOverBaseSize = 80.0f / 512.0f; // to keep values more like in the old version of fisheye
|
|
|
|
float ar = (source.width * 1.0f) / (source.height * 1.0f);
|
|
|
|
fisheyeMaterial.SetVector ("intensity", new Vector4 (strengthX * ar * oneOverBaseSize, strengthY * oneOverBaseSize, strengthX * ar * oneOverBaseSize, strengthY * oneOverBaseSize));
|
|
Graphics.Blit (source, destination, fisheyeMaterial);
|
|
}
|
|
}
|
|
}
|