예제 #1
0
		public void InvalidVertexAndPixelCode()
		{
			var data = new ShaderWithFormatCreationData(ShaderFlags.None, "", "", "", "",
				VertexFormat.Position2DColor);
			Assert.Throws<ShaderWithFormat.NoShaderCodeSpecifiedForOpenGLAndDirectX>(
				() => ContentLoader.Create<Shader>(data));
		}
예제 #2
0
		public void AllowDynamicCreationViaCreationData()
		{
			var data = new ShaderWithFormatCreationData(ShaderFlags.None, "AnyData", "AnyData",
				"AnyData", "AnyData", VertexFormat.Position2DColor);
			var shader = ContentLoader.Create<NoDataShaderWithFormat>(data);
			Assert.DoesNotThrow(() => shader.ReloadCreationData(data));
		}
예제 #3
0
        public void InvalidVertexAndPixelCode()
        {
            var data = new ShaderWithFormatCreationData(ShaderFlags.None, "", "", "", "",
                                                        VertexFormat.Position2DColor);

            Assert.Throws <ShaderWithFormat.NoShaderCodeSpecifiedForOpenGLAndDirectX>(
                () => ContentLoader.Create <Shader>(data));
        }
예제 #4
0
        public void AllowDynamicCreationViaCreationData()
        {
            var data = new ShaderWithFormatCreationData(ShaderFlags.None, "AnyData", "AnyData",
                                                        "AnyData", "AnyData", VertexFormat.Position2DColor);
            var shader = ContentLoader.Create <NoDataShaderWithFormat>(data);

            Assert.DoesNotThrow(() => shader.ReloadCreationData(data));
        }
예제 #5
0
		public void InvalidVertexFormat()
		{
			var invalidData = new ShaderWithFormatCreationData(ShaderFlags.None, "", "", "", "", null);
			Assert.Throws<ShaderWithFormat.InvalidVertexFormat>(
				() => ContentLoader.Create<Shader>(invalidData));
			var emptyFormat = new ShaderWithFormatCreationData(ShaderFlags.None, "", "", "", "",
				new VertexFormat(new VertexElement[0]));
			Assert.Throws<ShaderWithFormat.InvalidVertexFormat>(
				() => ContentLoader.Create<Shader>(emptyFormat));
		}
예제 #6
0
 private static void AssertShaderCreationException(ShaderWithFormatCreationData creationData)
 {
     try
     {
         ContentLoader.Create <ShaderWithFormat>(creationData);
     }             //ncrunch: no coverage
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
         Assert.IsTrue(ex is Shader.ShaderCreationHasFailed, ex.ToString());
     }
 }
예제 #7
0
        public void InvalidVertexFormat()
        {
            var invalidData = new ShaderWithFormatCreationData(ShaderFlags.None, "", "", "", "", null);

            Assert.Throws <ShaderWithFormat.InvalidVertexFormat>(
                () => ContentLoader.Create <Shader>(invalidData));
            var emptyFormat = new ShaderWithFormatCreationData(ShaderFlags.None, "", "", "", "",
                                                               new VertexFormat(new VertexElement[0]));

            Assert.Throws <ShaderWithFormat.InvalidVertexFormat>(
                () => ContentLoader.Create <Shader>(emptyFormat));
        }
예제 #8
0
		public void CreationOfShaderWithInvalidShaderCodeMustFail()
		{
			var creationData = new ShaderWithFormatCreationData(ShaderFlags.Colored, "BadGLVertexCode",
				"BadGLFragmentCode", "BadDX11Code", "BadDX9Code", VertexFormat.Position3DColor);
			AssertShaderCreationException(creationData);
			creationData = new ShaderWithFormatCreationData(ShaderFlags.Colored, "AnyData",
				"BadGLFragmentCode", "BadDX11Code", "BadDX9Code", VertexFormat.Position3DColor);
			AssertShaderCreationException(creationData);
			creationData = new ShaderWithFormatCreationData(ShaderFlags.Colored, "AnyData", "AnyData",
				"BadDX11Code", "BadDX9Code", VertexFormat.Position3DColor);
			AssertShaderCreationException(creationData);
			creationData = new ShaderWithFormatCreationData(ShaderFlags.Colored, "AnyData", "AnyData",
				"AnyData", "BadDX9Code", VertexFormat.Position3DColor);
			AssertShaderCreationException(creationData);
		}
예제 #9
0
        public void CreationOfShaderWithInvalidShaderCodeMustFail()
        {
            var creationData = new ShaderWithFormatCreationData(ShaderFlags.Colored, "BadGLVertexCode",
                                                                "BadGLFragmentCode", "BadDX11Code", "BadDX9Code", VertexFormat.Position3DColor);

            AssertShaderCreationException(creationData);
            creationData = new ShaderWithFormatCreationData(ShaderFlags.Colored, "AnyData",
                                                            "BadGLFragmentCode", "BadDX11Code", "BadDX9Code", VertexFormat.Position3DColor);
            AssertShaderCreationException(creationData);
            creationData = new ShaderWithFormatCreationData(ShaderFlags.Colored, "AnyData", "AnyData",
                                                            "BadDX11Code", "BadDX9Code", VertexFormat.Position3DColor);
            AssertShaderCreationException(creationData);
            creationData = new ShaderWithFormatCreationData(ShaderFlags.Colored, "AnyData", "AnyData",
                                                            "AnyData", "BadDX9Code", VertexFormat.Position3DColor);
            AssertShaderCreationException(creationData);
        }
예제 #10
0
		private SharpDXShader(ShaderWithFormatCreationData creationData, SharpDXDevice device)
			: this((ShaderCreationData)creationData, device) {}
예제 #11
0
		public MockShader(ShaderWithFormatCreationData creationData, Device device)
			: this((ShaderCreationData)creationData, device) {}
예제 #12
0
		public OpenGLShader(ShaderWithFormatCreationData creationData, OpenGLDevice device)
			: this((ShaderCreationData)creationData, device) {}
예제 #13
0
 protected GLFW3Shader(ShaderWithFormatCreationData creationData, GLFW3Device device)
     : this((ShaderCreationData)creationData, device)
 {
 }
 private SharpDXShader(ShaderWithFormatCreationData creationData, SharpDXDevice device)
     : this((ShaderCreationData)creationData, device)
 {
 }
예제 #15
0
			public NoDataShaderWithFormat(ShaderWithFormatCreationData creationData, Device device)
				: base(creationData, device) { }
예제 #16
0
 private XnaShader(ShaderWithFormatCreationData creationData, XnaDevice device)
     : this((ShaderCreationData)creationData, device)
 {
 }
예제 #17
0
 public OpenTKShader(ShaderWithFormatCreationData creationData, OpenTK20Device device)
     : this((ShaderCreationData)creationData, device)
 {
 }
예제 #18
0
			public void ReloadCreationData(ShaderWithFormatCreationData creationData)
			{
				byte[] rawData = creationData.VertexCode == "NoData"
					? new byte[0] : BinaryDataExtensions.ToByteArrayWithTypeInformation(creationData);
				LoadData(new MemoryStream(rawData));
			}
예제 #19
0
		private XnaShader(ShaderWithFormatCreationData creationData, XnaDevice device)
			: this((ShaderCreationData)creationData, device) {}
예제 #20
0
		private static void AssertShaderCreationException(ShaderWithFormatCreationData creationData)
		{
			try
			{
				ContentLoader.Create<ShaderWithFormat>(creationData);
			} //ncrunch: no coverage
			catch (Exception ex)
			{
				Console.WriteLine(ex.Message);
				Assert.IsTrue(ex is Shader.ShaderCreationHasFailed, ex.ToString());
			}
		}
예제 #21
0
 //ncrunch: no coverage start
 internal FakeShader(ShaderWithFormatCreationData creationData)
     : base(creationData)
 {
 }
예제 #22
0
 public NoDataShaderWithFormat(ShaderWithFormatCreationData creationData, Device device)
     : base(creationData, device)
 {
 }
예제 #23
0
 public MockShader(ShaderWithFormatCreationData creationData, Device device)
     : this((ShaderCreationData)creationData, device)
 {
 }
예제 #24
0
 public void ReloadCreationData(ShaderWithFormatCreationData creationData)
 {
     byte[] rawData = creationData.VertexCode == "NoData"
                             ? new byte[0] : BinaryDataExtensions.ToByteArrayWithTypeInformation(creationData);
     LoadData(new MemoryStream(rawData));
 }