// Apply Event
 void IParserEventSubscriber.Apply(ConfigNode node)
 {
     mod.EmissiveMaterial = new Material(ShaderLoader.GetShader("KopernicusExpansion/EmissiveFX"));
     mod.EmissiveMaterial.SetColor("_Color", new Color(1f, 1f, 1f));
     mod.EmissiveMaterial.SetFloat("_Brightness", 1.4f);
     mod.EmissiveMaterial.SetFloat("_Transparency", 0.6f);
 }
Example #2
0
                // constructor
                public ProceduralGasGiantLoader()
                {
                    material      = new Material(ShaderLoader.GetShader("KopernicusExpansion/ProceduralGasGiant"));
                    material.name = "ProceduralGasGiant_" + Guid.NewGuid().ToString();

                    // Set default values
                    material.SetFloat("_StormDistortion", 0f);
                }
        public void AddAllSources()
        {
            var loader = new ShaderLoader();

            loader.AddSource("a", File.ReadAllText("Shaders/FunctionA.glsl"), ShaderType.FragmentShader);
            loader.AddSource("b", File.ReadAllText("Shaders/MultipleFunctions.frag"), ShaderType.FragmentShader);
            Assert.IsTrue(loader.AddShader("shader", "a", "b"));
            Assert.IsTrue(loader.GetShader("shader").LinkStatusIsOk);
        }
Example #4
0
                // Apply Event
                void IParserEventSubscriber.Apply(ConfigNode node)
                {
                    // Create scaled material and set proprties to defaults
                    scaledMaterial = new Material(ShaderLoader.GetShader("KopernicusExpansion/EmissiveFX"));
                    scaledMaterial.SetTextureScale("_EmissiveMap", Vector2.one);
                    scaledMaterial.SetTextureOffset("_EmissiveMap", Vector2.zero);
                    scaledMaterial.SetColor("_Color", new Color(1f, 1f, 1f));
                    scaledMaterial.SetFloat("_Brightness", 1.25f);
                    scaledMaterial.SetFloat("_Transparency", 0.75f);

                    // Assign the scaled space texture
                    Material mat = generatedBody.scaledVersion.GetComponent <Renderer>().sharedMaterial;

                    scaledMaterial.SetTexture("_EmissiveMap", mat.GetTexture("_MainTex"));
                }
                public static void AddCometTail(PSystemBody body, Tail tail)
                {
                    Transform scaledVersion = body.scaledVersion.transform;

                    GameObject obj = new GameObject("CometTail");

                    obj.layer            = GameLayers.ScaledSpace;
                    obj.transform.parent = Kopernicus.Utility.Deactivator;

                    MeshRenderer mr = obj.AddComponent <MeshRenderer>();
                    MeshFilter   mf = obj.AddComponent <MeshFilter>();

                    Teardrop teardrop = new Teardrop(1f, (tail.length / tail.radius), 60, 90);

                    mf.mesh = teardrop;

                    mr.sharedMaterial = new Material(ShaderLoader.GetShader("KopernicusExpansion/CometTail"));

                    //set default material values
                    mr.sharedMaterial.SetColor("_TintColor", new Color(tail.color.r, tail.color.g, tail.color.b, 0.5f));

                    mr.sharedMaterial.SetFloat("_RimPower", tail.rimPower);
                    mr.sharedMaterial.SetFloat("_Distortion", tail.distortion);
                    mr.sharedMaterial.SetFloat("_AlphaDistortion", tail.alphaDistortion);
                    mr.sharedMaterial.SetFloat("_ZDistortion", tail.zDistortion);
                    mr.sharedMaterial.SetFloat("_VertexDistortion", 0f);
                    mr.sharedMaterial.SetFloat("_Frequency", tail.frequency);
                    mr.sharedMaterial.SetFloat("_Lacunarity", tail.lacunarity);
                    mr.sharedMaterial.SetFloat("_Gain", tail.gain);

                    mr.shadowCastingMode = ShadowCastingMode.Off;
                    mr.receiveShadows    = false;

                    CometTailController cometController = obj.AddComponent <CometTailController>();

                    cometController.type            = tail.type;
                    cometController.color           = tail.color;
                    cometController.orbit           = body.celestialBody.orbit;
                    cometController.opacityCurve    = tail.opacityCurve;
                    cometController.brightnessCurve = tail.brightnessCurve;

                    obj.transform.parent        = scaledVersion;
                    obj.transform.localPosition = Vector3.zero;
                    obj.transform.localScale    = (Vector3.one * tail.length);
                    obj.SetActive(true);
                    obj.layer = GameLayers.ScaledSpace;
                }
Example #6
0
        public static Material CreateMaterialWithShaderName(string aShaderName, bool aThroughErrorMsg)
        {
            var shader = ShaderLoader.GetShader(aShaderName);

            if (shader == null)
            {
                if (aThroughErrorMsg == true)
                {
                    Debug.LogErrorFormat("[AmplifyOcclusion] Cannot find shader: \"{0}\"" +
                                         " Please contact [email protected]", aShaderName);
                }

                return(null);
            }

            return(new Material(shader)
            {
                hideFlags = HideFlags.DontSave
            });
        }
            private static void SetupFootprintPrefab()
            {
                footprintPrefab       = new GameObject("KerbalEVAFootprint");
                footprintPrefab.layer = GameLayers.LOCAL_SPACE;
                footprintPrefab.SetActive(false);

                MeshFilter   mf = footprintPrefab.AddComponent <MeshFilter>();
                MeshRenderer mr = footprintPrefab.AddComponent <MeshRenderer>();

                mf.mesh = new Quad(0.15f, 0.3f, true);

                Material        material      = new Material(ShaderLoader.GetShader("KopernicusExpansion/Footprint"));
                Texture2DParser footprintMask = new Texture2DParser();

                footprintMask.SetFromString("KopernicusExpansion/Textures/KerbalEVAFootprintMask");
                material.SetTexture("_MainTex", footprintMask);
                material.SetFloat("_Opacity", 0.8f);
                material.SetColor("_Color", Color.black);
                mr.material          = material;
                mr.shadowCastingMode = ShadowCastingMode.Off;
                footprintPrefab.AddComponent <EVAFootprint>();
                Debug.Log("[KopernicusExpansion] Footprint prefab created");
            }
Example #8
0
 public void GetInvalidName()
 {
     Assert.IsNull(loader.GetShader("invalidShader"));
 }