public bool Equals(Matrix3F other) { if (Matrix3F.ReferenceEquals(other, null)) { return false; } for (int i = 0; i < _values.Length; ++i) { if (!_values[i].Equals(other._values[i])) { return false; } } return true; }
public bool Equals(Matrix3F other) { if (Matrix3F.ReferenceEquals(other, null)) { return(false); } for (int i = 0; i < _values.Length; ++i) { if (!_values[i].Equals(other._values[i])) { return(false); } } return(true); }
public void DoubleToFloat() { Matrix3D m = new Matrix3D( 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0); Matrix3F mf = m.ToMatrix4F(); Assert.AreEqual(1.0, mf.ReadOnlyColumnMajorValues[0], 1e-7); Assert.AreEqual(4.0, mf.ReadOnlyColumnMajorValues[1], 1e-7); Assert.AreEqual(7.0, mf.ReadOnlyColumnMajorValues[2], 1e-7); Assert.AreEqual(2.0, mf.ReadOnlyColumnMajorValues[3], 1e-7); Assert.AreEqual(5.0, mf.ReadOnlyColumnMajorValues[4], 1e-7); Assert.AreEqual(8.0, mf.ReadOnlyColumnMajorValues[5], 1e-7); Assert.AreEqual(3.0, mf.ReadOnlyColumnMajorValues[6], 1e-7); Assert.AreEqual(6.0, mf.ReadOnlyColumnMajorValues[7], 1e-7); Assert.AreEqual(9.0, mf.ReadOnlyColumnMajorValues[8], 1e-7); }
public void Matrix3() { string fs = @"#version 330 uniform mat3 exampleMat3; out vec3 FragColor; void main() { FragColor = vec3(exampleMat3[0].y, exampleMat3[2].x, 0.0); }"; using (GraphicsWindow window = Device.CreateWindow(1, 1)) using (Framebuffer framebuffer = TestUtility.CreateFramebuffer(window.Context)) using (ShaderProgram sp = Device.CreateShaderProgram(ShaderSources.PassThroughVertexShader(), fs)) using (VertexArray va = TestUtility.CreateVertexArray(window.Context, sp.VertexAttributes["position"].Location)) { Matrix3F m3 = new Matrix3F( 0.0f, 0.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f); Uniform<Matrix3F> exampleMat3 = (Uniform<Matrix3F>)sp.Uniforms["exampleMat3"]; Assert.AreEqual("exampleMat3", exampleMat3.Name); Assert.AreEqual(UniformType.FloatMatrix33, exampleMat3.Datatype); Assert.AreEqual(new Matrix3F(), exampleMat3.Value); exampleMat3.Value = m3; Assert.AreEqual(m3, exampleMat3.Value); window.Context.Framebuffer = framebuffer; window.Context.Draw(PrimitiveType.Points, 0, 1, new DrawState(TestUtility.CreateRenderStateWithoutDepthTest(), sp, va), new SceneState()); TestUtility.ValidateColor(framebuffer.ColorAttachments[0], 255, 255, 0); } }