public NMaterial CreateMaterial() { NMaterial mat = new NMaterial(ShaderConfig.GetShader(shaderName)); mat.mainTexture = texture.nativeTexture; if (texture.alphaTexture != null) { mat.EnableKeyword("COMBINED"); mat.SetTexture("_AlphaTex", texture.alphaTexture); } if (_keywords != null) { foreach (string v in _keywords) { mat.EnableKeyword(v); } } mat.hideFlags = DisplayOptions.hideFlags; return(mat); }
public NMaterial GetMaterial(uint frameId, uint context) { if (_items == null) { _items = new List <NMaterial>(); } int cnt = _items.Count; NMaterial spare = null; for (int i = 0; i < cnt; i++) { NMaterial mat = _items[i]; if (mat.frameId == frameId) { if (mat.context == context) { return(mat); } } else if (spare == null) { spare = mat; } } if (spare != null) { spare.frameId = frameId; spare.context = context; return(spare); } else { NMaterial mat = _manager.CreateMaterial(); if (_variants != null) { foreach (string v in _variants) { mat.EnableKeyword(v); } } mat.frameId = frameId; mat.context = context; _items.Add(mat); return(mat); } }
public NMaterial CreateMaterial() { Shader shader = ShaderConfig.Get(shaderName); if (shader == null) { Debug.LogWarning("FairyGUI: shader not found: " + shaderName); shader = Shader.Find("UI/Default"); } NMaterial mat = new NMaterial(shader); mat.mainTexture = texture.nativeTexture; if (texture.alphaTexture != null) { mat.EnableKeyword("COMBINED"); mat.SetTexture("_AlphaTex", texture.alphaTexture); } shader.hideFlags = DisplayOptions.hideFlags; mat.hideFlags = DisplayOptions.hideFlags; return(mat); }
public NMaterial CreateMaterial() { NMaterial mat = new NMaterial(ShaderConfig.GetShader(shaderName)); mat.mainTexture = texture.nativeTexture; if (texture.alphaTexture != null) { mat.EnableKeyword("COMBINED"); mat.SetTexture("_AlphaTex", texture.alphaTexture); } if (_keywords != null) { foreach (string v in _keywords) mat.EnableKeyword(v); } mat.hideFlags = DisplayOptions.hideFlags; return mat; }
public NMaterial Get() { List <NMaterial> items; if (_manager.blendMode == BlendMode.Normal) { if (_items == null) { _items = new List <NMaterial>(); } items = _items; } else { if (_blendItems == null) { _blendItems = new List <NMaterial>(); } items = _blendItems; } int cnt = items.Count; NMaterial result = null; for (int i = 0; i < cnt; i++) { NMaterial mat = items[i]; if (mat.frameId == _manager.frameId) { if (mat.clipId == _manager.clipId && mat.blendMode == _manager.blendMode) { return(mat); } } else if (result == null) { result = mat; } } if (result != null) { result.frameId = _manager.frameId; result.clipId = _manager.clipId; result.blendMode = _manager.blendMode; } else { result = _manager.CreateMaterial(); if (_variants != null) { foreach (string v in _variants) { result.EnableKeyword(v); } } result.frameId = _manager.frameId; result.clipId = _manager.clipId; result.blendMode = _manager.blendMode; items.Add(result); } return(result); }