Files
Cielonos/Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Height.asset
SoulliesOfficial ef7b479712 initial
2025-11-25 08:19:33 -05:00

76 lines
7.3 KiB
Plaintext

%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 78b2425a2284af743826c689403a4924, type: 3}
m_Name: Normal From Height
m_EditorClassIdentifier:
m_functionInfo: "// Made with Amplify Shader Editor v1.9.9.1\n// Available at the
Unity Asset Store - http://u3d.as/y3X \n/*ASEBEGIN\nVersion=19901\nNode;AmplifyShaderEditor.StickyNoteNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;135;592,-992;Inherit;False;736.3303;390.5146;//
\"Bump Mapping Unparametrized Surfaces on the GPU\" by Morten S. Mikkelsen;;1,1,1,1;float3
vSigmaS = ddx( surf_pos )@$float3 vSigmaT = ddy( surf_pos )@$$float3 vN = surf_norm@$$float3
vR1 = cross( vSigmaT , vN )@$float3 vR2 = cross( vN , vSigmaS )@$$float fDet
= dot( vSigmaS , vR1 )@$$float dBs = ddx( height )@$float dBt = ddy( height )@$$float3
vSurfGrad = scale * 0.05 * sign( fDet ) * ( dBs * vR1 + dBt * vR2 )@$$result
= normalize ( abs( fDet ) * vN - vSurfGrad )@$;0;0\nNode;AmplifyShaderEditor.DdxOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;111;-336,-784;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.DdyOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;112;-336,-704;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.CrossProductOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;113;-144,-704;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.DotProductOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;115;80,-784;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;123;144,-384;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;124;144,-288;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;126;608,-224;Inherit;False;4;4;0;FLOAT;0;False;1;FLOAT3;0.05,0.05,0.05;False;2;FLOAT;0;False;3;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.SimpleAddOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;125;368,-304;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.SimpleMultiplyOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;131;608,-512;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.AbsOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;128;448,-560;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.SignOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;127;368,-384;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.CrossProductOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;114;-144,-592;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionInput,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;20;-480,-288;Inherit;False;Height;1;0;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DdyOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;122;-240,-288;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.DdxOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;121;-240,-384;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0\nNode;AmplifyShaderEditor.FunctionInput,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;110;352,-160;Inherit;False;Strength;1;1;False;1;0;FLOAT;1;False;1;FLOAT;0\nNode;AmplifyShaderEditor.WorldNormalVector,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;109;-464,-496;Inherit;False;False;1;0;FLOAT3;0,0,1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3\nNode;AmplifyShaderEditor.WorldPosInputsNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;108;-608,-736;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3\nNode;AmplifyShaderEditor.SimpleSubtractOpNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;132;848,-384;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.NormalizeNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;130;1024,-384;Inherit;False;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.TransformDirectionNode,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;42;1216,-384;Inherit;False;World;Tangent;False;Fast;False;1;0;FLOAT3;0,0,0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3\nNode;AmplifyShaderEditor.FunctionOutput,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;0;1216,-224;Inherit;False;True;-1;World
Normal;1;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nNode;AmplifyShaderEditor.FunctionOutput,
AmplifyShaderEditor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null;40;1456,-384;Inherit;False;False;-1;Tangent
Normal;0;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0\nWireConnection;111;0;108;0\nWireConnection;112;0;108;0\nWireConnection;113;0;112;0\nWireConnection;113;1;109;0\nWireConnection;115;0;111;0\nWireConnection;115;1;113;0\nWireConnection;123;0;121;0\nWireConnection;123;1;113;0\nWireConnection;124;0;122;0\nWireConnection;124;1;114;0\nWireConnection;126;0;110;0\nWireConnection;126;2;127;0\nWireConnection;126;3;125;0\nWireConnection;125;0;123;0\nWireConnection;125;1;124;0\nWireConnection;131;0;128;0\nWireConnection;131;1;109;0\nWireConnection;128;0;115;0\nWireConnection;127;0;115;0\nWireConnection;114;0;109;0\nWireConnection;114;1;111;0\nWireConnection;122;0;20;0\nWireConnection;121;0;20;0\nWireConnection;132;0;131;0\nWireConnection;132;1;126;0\nWireConnection;130;0;132;0\nWireConnection;42;0;130;0\nWireConnection;0;0;130;0\nWireConnection;40;0;42;0\nASEEND*/\n//CHKSM=382C4383C72E6E36C68F12FC439BAEE8C317B1B6"
m_functionName:
m_description: Derive a normal vector from a procedural height value.
m_additionalIncludes:
m_additionalIncludes: []
m_outsideIncludes: []
m_additionalPragmas:
m_additionalPragmas: []
m_outsidePragmas: []
m_additionalDirectives:
m_validData: 0
m_isDirty: 0
m_moduleName: ' Additional Directives'
m_independentModule: 1
m_customEdited: 0
m_additionalDirectives: []
m_shaderFunctionDirectives: []
m_nativeDirectives: []
m_nativeDirectivesIndex: -1
m_nativeDirectivesFoldout: 0
m_directivesSaveItems: []
m_nodeCategory: 3
m_headerStyle: 1
m_headerColor: {r: 1, g: 0.4, b: 0, a: 1}
m_customNodeCategory:
m_previewPosition: 0
m_hidden: 0
m_url: