public TriangleFanRenderer()
        {
            m_program   = TriangleProgram.Instance;
            m_instances = new List <PointInstance>();


            m_vao = new VertexArray();

            GL.BindVertexArray(m_vao);
            GL.UseProgram(m_program);

            m_bufferSprite   = new Buffer <PointData>();
            m_bufferTriangle = new Buffer <Vector3>();

            m_program.Position.SetValue(m_bufferSprite.GetView <Vector3>("Position"));
            //m_program.Position.SetDivisor(1);

            m_program.Color.SetValue(m_bufferSprite.GetView <Color4ub>("Color"));
            //m_program.Color.SetDivisor(3);
            // m_program.Normal.SetValue(m_bufferSprite.GetView<Vector3>("Normal"));
            //// m_program.Normal.SetDivisor(1);
            // m_program.Transform.SetValue(m_bufferSprite.GetView<Matrix4>("Transform"));
            // //m_program.Transform.SetDivisor(1);
            // m_program.TextureOrigin.SetValue(m_bufferSprite.GetView<Vector2>("TextureOrigin"));
            // //m_program.TextureOrigin.SetDivisor(1);
            // m_program.TextureTarget.SetValue(m_bufferSprite.GetView<Vector2>("TextureTarget"));
            //m_program.TextureTarget.SetDivisor(1);

            GL.BindVertexArray(null);

            m_isDirty = true;
        }
示例#2
0
        public void GetTriangleType_NotTriangle_ReturnsNotTriangleType(params string[] sides)
        {
            BigInteger[] parsedSides = sides.Select(side => BigInteger.Parse(side)).ToArray();
            TriangleType resultType  = TriangleProgram.GetTriangleType(parsedSides);

            Assert.Equal(Triangle.TriangleType.NotTriangle, resultType);
        }
示例#3
0
        public void Program_DifferentAmountOfParams_Returns0(params string[] args)
        {
            output.WriteLine(args != null ? string.Join(", ", args) : "no args");
            var result = TriangleProgram.Main(null);

            Assert.Equal(0, result);
        }
示例#4
0
 public ParseException ParseSides_WrongValue_ThrowsParseException(string[] sides)
 {
     output.WriteLine(sides != null ? string.Join(", ", sides) : "no args");
     return(Assert.Throws <ParseException>(() => TriangleProgram.ParseSides(sides)));
 }