Exemple #1
0
        private void AddData(OpenGL gl)
        {
            NMBufferGroup group = new NMBufferGroup(gl);

            var verts   = MyTrefoilKnot.Vertices.SelectMany(x => x.to_array()).ToArray();
            var normals = MyTrefoilKnot.Normals.SelectMany(x => x.to_array()).ToArray();

            group.BufferData(gl, MyTrefoilKnot.Indices, verts, normals,
                             new Material[] { new Material(new ColorF(255, 150, 50, 50), new ColorF(255, 10, 100, 10), new ColorF(255, 225, 225, 225), null, 100f) });
            group.PrepareVAO(gl, NmProgram);

            NmProgram.AddBufferGroup(group);
            NMBufferGroup groupCube = new NMBufferGroup(gl);

            var vertsCube   = FlatShadedCube.Vertices.SelectMany(x => x.to_array()).ToArray();
            var normalsCube = FlatShadedCube.Normals.SelectMany(x => x.to_array()).ToArray();


            groupCube.BufferData(gl, FlatShadedCube.Indices, vertsCube, normalsCube,
                                 new Material[]
            {
                new Material(new ColorF(1f, 0.3f, 1, 0), new ColorF(1f, 1f, 0.5f, 0), new ColorF(1f, 1, 0, 1), null, 100f),
            });

            groupCube.PrepareVAO(gl, NmProgram);

            NmProgram.AddBufferGroup(groupCube);
        }
 public void AddBufferGroup(NMBufferGroup group)
 {
     BufferGroups.Add(group);
 }
 public void AddBufferGroup(NMBufferGroup group)
 {
     BufferGroups.Add(group);
 }
        private void AddData(OpenGL gl)
        {
            NMBufferGroup group = new NMBufferGroup(gl);

            var verts = MyTrefoilKnot.Vertices.SelectMany(x=>x.to_array()).ToArray();
            var normals = MyTrefoilKnot.Normals.SelectMany(x => x.to_array()).ToArray();

            group.BufferData(gl, MyTrefoilKnot.Indices, verts, normals,
                new Material[] { new Material(new ColorF(255, 150, 50, 50), new ColorF(255,10,100,10), new ColorF(255, 225, 225, 225), null, 100f)});
            group.PrepareVAO(gl, NmProgram);

            NmProgram.AddBufferGroup(group);
            NMBufferGroup groupCube = new NMBufferGroup(gl);

            var vertsCube = FlatShadedCube.Vertices.SelectMany(x => x.to_array()).ToArray();
            var normalsCube = FlatShadedCube.Normals.SelectMany(x => x.to_array()).ToArray();

            groupCube.BufferData(gl, FlatShadedCube.Indices, vertsCube, normalsCube,
                new Material[]
                {
                    new Material(new ColorF(1f, 0.3f, 1, 0), new ColorF(1f, 1f, 0.5f, 0), new ColorF(1f, 1, 0, 1), null, 100f),
                });

            groupCube.PrepareVAO(gl, NmProgram);

            NmProgram.AddBufferGroup(groupCube);
        }