Пример #1
0
        public void LinkedEffectBuildDefaultTest()
        {
            Test(() =>
            {
                var linkedEffectContent = new LinkedEffectContent();
                linkedEffectContent.EffectParts.Add(new PositionNormalTextureEffectPartContent());
                linkedEffectContent.EffectParts.Add(new VertexTransformEffectPartContent());
                linkedEffectContent.EffectParts.Add(new VertexShaderOutputEffectPartContent());
                linkedEffectContent.EffectParts.Add(new BasicTextureEffectPartContent());
                linkedEffectContent.EffectParts.Add(new PixelShaderOutputEffectPartContent());

                var filename = BuildObject(linkedEffectContent, "LinkedEffectProcessor", null);
                RunTheBuild();

                var linkedEffect = Content.Load <LinkedEffect>(filename);
            });
        }
Пример #2
0
        public void LinkedEffectBuildIncludeMaterialTest()
        {
            Test(() =>
            {
                var linkedEffectContent = new LinkedEffectContent();
                linkedEffectContent.EffectParts.Add(new PositionNormalTextureEffectPartContent());
                linkedEffectContent.EffectParts.Add(new VertexTransformEffectPartContent());
                linkedEffectContent.EffectParts.Add(new VertexShaderOutputEffectPartContent());
                linkedEffectContent.EffectParts.Add(new MaterialEffectPartContent()
                {
                    DiffuseColor = Vector3.One * 0.1f
                });
                linkedEffectContent.EffectParts.Add(new BasicTextureEffectPartContent());
                linkedEffectContent.EffectParts.Add(new PixelShaderOutputEffectPartContent());

                var filename = BuildObject(linkedEffectContent, "LinkedEffectProcessor", null);
                RunTheBuild();

                // Linked effect should not keep any material info
                var linkedEffect = Content.Load <LinkedEffect>(filename);
                Assert.AreEqual(Vector3.One * 0.1f, linkedEffect.Find <IEffectMaterial>().DiffuseColor);
            });
        }