-
Notifications
You must be signed in to change notification settings - Fork 832
/
Copy pathShaderGraphAssetImporter.cs
75 lines (68 loc) · 2.05 KB
/
ShaderGraphAssetImporter.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using System;
using System.IO;
using System.Text;
using UnityEditor.AssetImporters;
using UnityEditor.ShaderGraph.GraphUI;
using UnityEngine;
namespace UnityEditor.ShaderGraph
{
[ExcludeFromPreset]
[ScriptedImporter(1, Extension, -902)]
class ShaderGraphAssetImpoter : ScriptedImporter
{
public const string Extension = ShaderGraphStencil.GraphExtension;
public const string k_ErrorShader = @"
Shader ""Hidden/GraphErrorShader2""
{
SubShader
{
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 2.0
#pragma multi_compile _ UNITY_SINGLE_PASS_STEREO STEREO_INSTANCING_ON STEREO_MULTIVIEW_ON
#include ""UnityCG.cginc""
struct appdata_t {
float4 vertex : POSITION;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f {
float4 vertex : SV_POSITION;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert (appdata_t v)
{
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.vertex = UnityObjectToClipPos(v.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
return fixed4(1,0,1,1);
}
ENDCG
}
}
Fallback Off
}";
static string[] GatherDependenciesFromSourceFile(string assetPath)
{
if (string.CompareOrdinal(Path.GetExtension(assetPath), "."+Extension) == 0)
{
return ShaderGraphAssetUtils.GatherDependenciesForShaderGraphAsset(assetPath);
}
return new string[0];
}
public override void OnImportAsset(AssetImportContext ctx)
{
if (string.CompareOrdinal(Path.GetExtension(assetPath), "."+Extension) == 0)
{
ShaderGraphAssetUtils.HandleImportAssetGraph(ctx);
}
}
}
}