|
|
/*
|
|
|
░█████╗░░█████╗░███████╗░█████╗░███╗░░██╗ ░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░
|
|
|
██╔══██╗██╔══██╗██╔════╝██╔══██╗████╗░██║ ██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗
|
|
|
██║░░██║██║░░╚═╝█████╗░░███████║██╔██╗██║ ╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝
|
|
|
██║░░██║██║░░██╗██╔══╝░░██╔══██║██║╚████║ ░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗
|
|
|
╚█████╔╝╚█████╔╝███████╗██║░░██║██║░╚███║ ██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║
|
|
|
░╚════╝░░╚════╝░╚══════╝╚═╝░░╚═╝╚═╝░░╚══╝ ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝
|
|
|
|
|
|
█▀▀▄ █──█ ▀▀█▀▀ █──█ █▀▀ ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█
|
|
|
█▀▀▄ █▄▄█ ─░█── █▀▀█ █▀▀ ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀
|
|
|
▀▀▀─ ▄▄▄█ ─░█── ▀──▀ ▀▀▀ ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀
|
|
|
____________________________________________________________________________________________________________________________________________
|
|
|
|
|
|
▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀ █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀ ▄█ █▀█ ▄█▄ █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀
|
|
|
█▀█ ▄█ ▄█ ██▄ ░█░ ▄ █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄ ░█ █▄█ ░▀░ ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█
|
|
|
____________________________________________________________________________________________________________________________________________
|
|
|
License:
|
|
|
The license is ATTRIBUTION 3.0
|
|
|
|
|
|
More license info here:
|
|
|
https://creativecommons.org/licenses/by/3.0/
|
|
|
____________________________________________________________________________________________________________________________________________
|
|
|
This shader has NOT been tested on any other PC configuration except the following:
|
|
|
CPU: Intel Core i5-6400
|
|
|
GPU: NVidia GTX 750Ti
|
|
|
RAM: 16GB
|
|
|
Windows: 10 x64
|
|
|
DirectX: 11
|
|
|
____________________________________________________________________________________________________________________________________________
|
|
|
*/
|
|
|
|
|
|
Shader "Ultimate 10+ Shaders/Ocean"
|
|
|
{
|
|
|
Properties
|
|
|
{
|
|
|
_Color ("Color", Color) = (0.0,0.25,0.35,0.0)
|
|
|
|
|
|
_Normal1 ("Normal Map (1)", 2D) = "white" {}
|
|
|
_NormalStrength1 ("Normal Strength (1)", Range(0, 2)) = 0.17
|
|
|
_FlowDirection1("Flow Direction (1)", float) = (0.05, 0, 0, 1)
|
|
|
|
|
|
_Normal2 ("Normal Map (2)", 2D) = "white" {}
|
|
|
_NormalStrength2 ("Normal Strength (2)", Range(0, 2)) = 0.8
|
|
|
_FlowDirection2("Flow Direction (2)", float) = (0, 0.05, 0, 1)
|
|
|
|
|
|
_Glossiness ("Smoothness", Range(0,1)) = 0.6
|
|
|
_Metallic ("Metallic", Range(0,1)) = 0.2
|
|
|
|
|
|
[Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2
|
|
|
}
|
|
|
SubShader
|
|
|
{
|
|
|
Tags { "RenderType"="Transparent" "Queue"="Transparent" }
|
|
|
Blend SrcAlpha OneMinusSrcAlpha
|
|
|
LOD 150
|
|
|
Cull [_Cull]
|
|
|
Lighting Off
|
|
|
ZWrite On
|
|
|
|
|
|
CGINCLUDE
|
|
|
#define _GLOSSYENV 1
|
|
|
#define UNITY_SETUP_BRDF_INPUT SpecularSetup
|
|
|
#define UNITY_SETUP_BRDF_INPUT MetallicSetup
|
|
|
ENDCG
|
|
|
|
|
|
CGPROGRAM
|
|
|
// Physically based Standard lighting model, and disabled shadows (the ocean doesn't have a shadow :D)
|
|
|
#pragma surface surf Standard alpha
|
|
|
|
|
|
#ifndef SHADER_API_D3D11
|
|
|
#pragma target 3.0
|
|
|
#else
|
|
|
#pragma target 4.0
|
|
|
#endif
|
|
|
|
|
|
fixed4 _Color;
|
|
|
|
|
|
sampler2D _Normal1;
|
|
|
half _NormalStrength1;
|
|
|
half2 _FlowDirection1;
|
|
|
|
|
|
sampler2D _Normal2;
|
|
|
half _NormalStrength2;
|
|
|
half2 _FlowDirection2;
|
|
|
|
|
|
half _Glossiness;
|
|
|
half _Metallic;
|
|
|
|
|
|
struct Input
|
|
|
{
|
|
|
float2 uv_Normal1;
|
|
|
float2 uv_Normal2;
|
|
|
};
|
|
|
|
|
|
fixed4 pixel;
|
|
|
void surf (Input IN, inout SurfaceOutputStandard o)
|
|
|
{
|
|
|
IN.uv_Normal1 += _Time.y * _FlowDirection1;
|
|
|
IN.uv_Normal2 += _Time.y * _FlowDirection2;
|
|
|
|
|
|
pixel = (tex2D (_Normal1, IN.uv_Normal1) * _NormalStrength1 + tex2D(_Normal2, IN.uv_Normal2) * _NormalStrength2);
|
|
|
|
|
|
o.Albedo = _Color.rgb;
|
|
|
o.Alpha = _Color.a;
|
|
|
|
|
|
o.Metallic = _Metallic;
|
|
|
o.Smoothness = _Glossiness;
|
|
|
|
|
|
o.Normal = UnpackNormal(pixel);
|
|
|
}
|
|
|
ENDCG
|
|
|
}
|
|
|
FallBack "Diffuse"
|
|
|
}
|