mirror of
https://github.com/imperialsushi/gutterball-3.git
synced 2025-06-15 05:07:42 +00:00
New Version 1.6
New 125 balls & powerups. Improved graphics.
This commit is contained in:
parent
b35433ae45
commit
71779ef7ac
9413 changed files with 193360 additions and 264803 deletions
|
@ -0,0 +1,77 @@
|
|||
|
||||
#pragma strict
|
||||
|
||||
@script ExecuteInEditMode
|
||||
@script RequireComponent (Camera)
|
||||
@script AddComponentMenu ("Image Effects/Vignette and Chromatic Aberration")
|
||||
|
||||
class Vignetting extends PostEffectsBase {
|
||||
|
||||
public var intensity : float = 0.375f;
|
||||
public var chromaticAberration : float = 0.2f;
|
||||
public var blur : float = 0.1f;
|
||||
public var blurSpread : float = 1.5f;
|
||||
|
||||
// needed shaders & materials
|
||||
|
||||
public var vignetteShader : Shader;
|
||||
private var vignetteMaterial : Material;
|
||||
|
||||
public var separableBlurShader : Shader;
|
||||
private var separableBlurMaterial : Material;
|
||||
|
||||
public var chromAberrationShader : Shader;
|
||||
private var chromAberrationMaterial : Material;
|
||||
|
||||
function CheckResources () : boolean {
|
||||
CheckSupport (false);
|
||||
|
||||
vignetteMaterial = CheckShaderAndCreateMaterial (vignetteShader, vignetteMaterial);
|
||||
separableBlurMaterial = CheckShaderAndCreateMaterial (separableBlurShader, separableBlurMaterial);
|
||||
chromAberrationMaterial = CheckShaderAndCreateMaterial (chromAberrationShader, chromAberrationMaterial);
|
||||
|
||||
if(!isSupported)
|
||||
ReportAutoDisable ();
|
||||
return isSupported;
|
||||
}
|
||||
|
||||
function OnRenderImage (source : RenderTexture, destination : RenderTexture) {
|
||||
if(CheckResources()==false) {
|
||||
Graphics.Blit (source, destination);
|
||||
return;
|
||||
}
|
||||
|
||||
var widthOverHeight : float = (1.0f * source.width) / (1.0f * source.height);
|
||||
var oneOverBaseSize : float = 1.0f / 512.0f;
|
||||
|
||||
var color : RenderTexture = RenderTexture.GetTemporary (source.width, source.height, 0);
|
||||
var halfRezColor : RenderTexture = RenderTexture.GetTemporary (source.width / 2.0, source.height / 2.0, 0);
|
||||
var quarterRezColor : RenderTexture = RenderTexture.GetTemporary (source.width / 4.0, source.height / 4.0, 0);
|
||||
var secondQuarterRezColor : RenderTexture = RenderTexture.GetTemporary (source.width / 4.0, source.height / 4.0, 0);
|
||||
|
||||
Graphics.Blit (source, halfRezColor, chromAberrationMaterial, 0);
|
||||
Graphics.Blit (halfRezColor, quarterRezColor);
|
||||
|
||||
for (var it : int = 0; it < 2; it++ ) {
|
||||
separableBlurMaterial.SetVector ("offsets", Vector4 (0.0, blurSpread * oneOverBaseSize, 0.0, 0.0));
|
||||
Graphics.Blit (quarterRezColor, secondQuarterRezColor, separableBlurMaterial);
|
||||
separableBlurMaterial.SetVector ("offsets", Vector4 (blurSpread * oneOverBaseSize / widthOverHeight, 0.0, 0.0, 0.0));
|
||||
Graphics.Blit (secondQuarterRezColor, quarterRezColor, separableBlurMaterial);
|
||||
}
|
||||
|
||||
vignetteMaterial.SetFloat ("_Intensity", intensity);
|
||||
vignetteMaterial.SetFloat ("_Blur", blur);
|
||||
vignetteMaterial.SetTexture ("_VignetteTex", quarterRezColor);
|
||||
Graphics.Blit (source, color, vignetteMaterial);
|
||||
|
||||
chromAberrationMaterial.SetFloat ("_ChromaticAberration", chromaticAberration);
|
||||
Graphics.Blit (color, destination, chromAberrationMaterial, 1);
|
||||
|
||||
RenderTexture.ReleaseTemporary (color);
|
||||
RenderTexture.ReleaseTemporary (halfRezColor);
|
||||
RenderTexture.ReleaseTemporary (quarterRezColor);
|
||||
RenderTexture.ReleaseTemporary (secondQuarterRezColor);
|
||||
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue