private void GetAllTextures (LiveMaterial.LiveMat mat) { var n = ShaderUtil.GetPropertyCount ( mat.shader ); var txs = new List<LiveMaterial.LiveTexture> (); /// Keeps texture properties within the shader into a list var count = 0; for ( int i = 0; i != n; i++ ) { if ( ShaderUtil.GetPropertyType ( mat.shader, i ) == ShaderUtil.ShaderPropertyType.TexEnv ) { var tx = new LiveMaterial.LiveTexture (); tx.id = i; tx.name = ShaderUtil.GetPropertyName ( mat.shader, i ); tx.desc = ShaderUtil.GetPropertyDescription ( mat.shader, i ); tx.currentFrame = 1; tx.fps = 30; tx.fold = true; tx.load = false; txs.Add ( tx ); count++; } } lm.mts[mat.id].txs = txs.ToArray (); txs.Clear (); lm.mts[mat.id].count = count; }
private bool ShaderChanged (LiveMaterial.LiveMat mat) { if ( mat.txs == null || mat.shader != lm.rend.sharedMaterials[mat.id].shader ) { return true; } else { return false; } }