Seven is the number.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

71 lines
2.2 KiB

Shader "Custom/Planet_Base"
{
Properties{
_MainTex("Base (RGB)", 2D) = "white" {}
_AOalbedo("AO in albedy", Range(0.0, 2)) = 0.0
[NoScaleOffset]_Glossiness("Glossiness", 2D) = "black" {}
_SmoothnessShift("Smoothness shift", Range(-1, 1)) = 0.0
_AOsmoothness("AO in smoothness", Range(-1, 1)) = 0.0
[NoScaleOffset]_BumpMap("Normal Map", 2D) = "bump" {}
_BumpScale("Bump Scale", Range(0.0, 1.0)) = 1.0
[NoScaleOffset]_AOMap("AO Map", 2D) = "white" {}
_AOintensity("AO intensity", Range(0.2, 5)) = 1.0
[NoScaleOffset] _EmissionMap("Emission Map", 2D) = "white" {}
_EmissionScale("Emission Scale", Float) = 0.0
}
CGINCLUDE
//@TODO: should this be pulled into a shader_feature, to be able to turn it off?
#define _GLOSSYENV 1
#define UNITY_SETUP_BRDF_INPUT SpecularSetup
//#define UNITY_SETUP_BRDF_INPUT MetallicSetup
ENDCG
SubShader
{
Tags{ "RenderType" = "Opaque" }
LOD 300
CGPROGRAM
#pragma target 3.0
#include "UnityPBSLighting.cginc"
//#pragma surface surf Standard
#pragma surface surf Standard fullforwardshadows
//#pragma surface surf Lambert
//#define UNITY_PASS_FORWARDBASE
sampler2D _MainTex;
sampler2D _BumpMap;
sampler2D _Glossiness;
sampler2D _AOMap;
sampler2D _EmissionMap;
uniform float _AOalbedo;
uniform float _AOsmoothness;
uniform float _SmoothnessShift;
uniform float _EmissionScale;
uniform float _AOintensity;
uniform half _BumpScale;
struct Input
{
float2 uv_MainTex;
};
void surf(Input IN, inout SurfaceOutputStandard o)
{
float3 albedotex = tex2D(_MainTex, IN.uv_MainTex);
float4 glossinesstex = tex2D(_Glossiness, IN.uv_MainTex);
float4 normaltex = tex2D(_BumpMap, IN.uv_MainTex);
float4 ao = tex2D(_AOMap, IN.uv_MainTex);
float3 emission = tex2D(_EmissionMap, IN.uv_MainTex);
o.Occlusion = pow(ao.g, _AOintensity);
o.Albedo = lerp(albedotex, float3(0.0f, 0.0f, 0.0f), saturate((1.0f-o.Occlusion) * _AOalbedo));
o.Emission = emission.rgb * _EmissionScale;
o.Normal = normalize(UnpackScaleNormal(normaltex, _BumpScale));
o.Metallic = 0.0f;
o.Smoothness = saturate(glossinesstex.g + ((1.0f-o.Occlusion) * _AOsmoothness) + _SmoothnessShift);
}
ENDCG
}
FallBack "Diffuse"
}