Upgraded original RothenburgAR to Unity version 2017.4.5f1 (and upgrading from standalone vuforia to the version integrated in unity)
This commit is contained in:
71
Assets/Vuforia/Shaders/CameraDiffuse.shader
Normal file
71
Assets/Vuforia/Shaders/CameraDiffuse.shader
Normal file
@@ -0,0 +1,71 @@
|
||||
//========================================================================
|
||||
// Copyright (c) 2017 PTC Inc. All Rights Reserved.
|
||||
//
|
||||
// Vuforia is a trademark of PTC Inc., registered in the United States and other
|
||||
// countries.
|
||||
//=========================================================================
|
||||
|
||||
Shader "Custom/CameraDiffuse"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_MaterialColor ("Color", Color) = (1,1,1,1)
|
||||
}
|
||||
|
||||
CGINCLUDE
|
||||
|
||||
uniform float4 _MaterialColor;
|
||||
|
||||
ENDCG
|
||||
|
||||
SubShader
|
||||
{
|
||||
Pass
|
||||
{
|
||||
// indicate that our pass is the "base" pass in forward
|
||||
// rendering pipeline. It gets ambient and main directional
|
||||
// light data set up; light direction in _WorldSpaceLightPos0
|
||||
// and color in _LightColor0
|
||||
Tags {"LightMode"="ForwardBase"}
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#include "UnityCG.cginc" // for UnityObjectToWorldNormal
|
||||
#include "UnityLightingCommon.cginc" // for _LightColor0
|
||||
|
||||
struct v2f
|
||||
{
|
||||
fixed4 diff : COLOR0; // diffuse lighting color
|
||||
float4 vertex : SV_POSITION;
|
||||
};
|
||||
|
||||
v2f vert (appdata_base v)
|
||||
{
|
||||
v2f o;
|
||||
o.vertex = UnityObjectToClipPos(v.vertex);
|
||||
|
||||
|
||||
// get vertex normal in world space
|
||||
half3 worldNormal = UnityObjectToWorldNormal(v.normal);
|
||||
|
||||
float3 worldPos = mul(unity_ObjectToWorld, v.vertex).xyz;
|
||||
// compute world space view direction
|
||||
float3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));
|
||||
// dot product between normal and light direction for
|
||||
// standard diffuse (Lambert) lighting
|
||||
half nl = max(0, dot(worldNormal, worldViewDir));
|
||||
|
||||
// factor in the material color
|
||||
o.diff = lerp(_MaterialColor, nl * _MaterialColor, 0.2);
|
||||
return o;
|
||||
}
|
||||
|
||||
fixed4 frag (v2f i) : SV_Target
|
||||
{
|
||||
return i.diff;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user