Exemple #1
0
        public Material createMaterial(string name)
        {
            string   shdName = string.IsNullOrEmpty(this.shader) ? "KSP/Diffuse" : this.shader;
            Shader   shd     = KSPShaderLoader.getShader(shdName);
            Material mat     = new Material(shd);

            mat.name = name;
            TextureSet.updateMaterialProperties(mat, props);
            return(mat);
        }
 public static void updateMaterial(Material mat, string shader, ShaderProperty[] props)
 {
     if (!String.IsNullOrEmpty(shader))
     {
         Shader s = KSPShaderLoader.getShader(shader);
         if (s != null && s != mat.shader)
         {
             mat.shader = s;
         }
     }
     updateMaterialProperties(mat, props);
 }
Exemple #3
0
 public static void updateMaterial(Material mat, string shader, ShaderProperty[] props)
 {
     if (!String.IsNullOrEmpty(shader))
     {
         Shader s = KSPShaderLoader.getShader(shader);
         if (s != null && s != mat.shader)
         {
             mat.shader = s;
         }
         else if (s == null)
         {
             MonoBehaviour.print("ERROR: KSPShaderLoader - Could not locate shader: " + shader + " while updating material: " + mat);
         }
     }
     updateMaterialProperties(mat, props);
 }
 public void toggleDebugSphere()
 {
     if (debugSphere != null)
     {
         GameObject.Destroy(debugSphere);
         debugSphere = null;
     }
     else
     {
         debugSphere      = GameObject.CreatePrimitive(PrimitiveType.Sphere);
         debugSphere.name = "ReflectionDebugSphere";
         GameObject.DestroyImmediate(debugSphere.GetComponent <Collider>());
         debugSphere.transform.localScale = Vector3.one * 10f;
         Shader   metallic = KSPShaderLoader.getShader("SSTU/PBR/Metallic");
         Material mat      = new Material(metallic);
         mat.SetFloat("_Metallic", 1);
         mat.SetFloat("_Smoothness", 1);
         debugSphere.GetComponent <MeshRenderer>().material = mat;
     }
 }