|
|
|
|
|
|
private const int kPreviewHeight = 64; |
|
|
|
|
|
|
|
[NonSerialized] |
|
|
|
private UnityEngine.Material m_Material; |
|
|
|
private Material m_Material; |
|
|
|
|
|
|
|
[SerializeField] |
|
|
|
private List<SlotDefaultValue> m_SlotDefaultValues; |
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public UnityEngine.Material previewMaterial |
|
|
|
public Material previewMaterial |
|
|
|
m_Material = new UnityEngine.Material(defaultPreviewShader) {hideFlags = HideFlags.DontSave}; |
|
|
|
m_Material = new Material(defaultPreviewShader) {hideFlags = HideFlags.DontSave}; |
|
|
|
UpdatePreviewProperties(); |
|
|
|
} |
|
|
|
|
|
|
|
return m_Material; |
|
|
|
|
|
|
#region Previews
|
|
|
|
public virtual bool UpdatePreviewMaterial() |
|
|
|
{ |
|
|
|
MaterialWindow.DebugMaterialGraph("RecreateShaderAndMaterial : " + name + "_" + GetInstanceID()); |
|
|
|
|
|
|
|
InternalUpdatePreviewShader(resultShader); |
|
|
|
return true; |
|
|
|
} |
|
|
|
protected void InternalUpdatePreviewShader(string resultShader) |
|
|
|
{ |
|
|
|
MaterialWindow.DebugMaterialGraph("RecreateShaderAndMaterial : " + name + "_" + GetInstanceID()); |
|
|
|
|
|
|
|
UpdatePreviewProperties(); |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
// this function looks at all the nodes that have a
|
|
|
|
|
|
|
return previewUtil.EndPreview(); |
|
|
|
} |
|
|
|
|
|
|
|
private void SetPreviewMaterialProperty(PreviewProperty previewProperty) |
|
|
|
private static void SetPreviewMaterialProperty(PreviewProperty previewProperty, Material mat) |
|
|
|
previewMaterial.SetTexture(previewProperty.m_Name, previewProperty.m_Texture); |
|
|
|
mat.SetTexture(previewProperty.m_Name, previewProperty.m_Texture); |
|
|
|
previewMaterial.SetColor(previewProperty.m_Name, previewProperty.m_Color); |
|
|
|
mat.SetColor(previewProperty.m_Name, previewProperty.m_Color); |
|
|
|
previewMaterial.SetVector(previewProperty.m_Name, previewProperty.m_Vector4); |
|
|
|
mat.SetVector(previewProperty.m_Name, previewProperty.m_Vector4); |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
node.CollectPreviewMaterialProperties(pList); |
|
|
|
|
|
|
|
foreach (var prop in pList) |
|
|
|
SetPreviewMaterialProperty (prop); |
|
|
|
SetPreviewMaterialProperty (prop, previewMaterial); |
|
|
|
} |
|
|
|
|
|
|
|
#endregion
|
|
|
|