Example #1
0
        /// <summary />
        protected override void OnLoad(BinaryReader reader)
        {
            var header = reader.ReadChars(_robloxMeshVersion1.Length);

            if (VisualC.CompareMemory(header, _robloxMeshVersion1, header.Length) == 0) // special case for roblox mesh
            {
                return;
            }

            reader.BaseStream.Position = 0;
            base.OnLoad(reader);
            var vertCount = reader.ReadInt32();

            Vertices = new Vertex[vertCount];
            for (var i = 0; i < vertCount; i++)
            {
                var vert = new Vertex();
                vert.Load(reader);
                Vertices[i] = vert;
            }
        }
Example #2
0
        public override void Load(byte[] data)
        {
            FileHeader header = new FileHeader();
            int        offset = 0;

            header.Load(data, ref offset);

            offset = header.VertexOffset;
            List <Vector3> verts = new List <Vector3>();

            for (int i = 0; i < header.VertexCount; i++)
            {
                Vertex vert = new Vertex();
                vert.Load(data, ref offset);
                verts.Add(vert.Position);
            }

            List <int> tris = new List <int>();

            offset = header.TriangleOffset;
            for (int i = 0; i < header.TriangleCount; i++)
            {
                Triangle tri = new Triangle();
                tri.Load(data, ref offset);
                for (int k = 0; k < 3; k++)
                {
                    tris.Add(tri.Vertices[k]);
                }

                /*Renderable = new RenderData(verts.Count, tris.Count);
                 * Renderable.Vertexes = verts.ToArray();
                 * Renderable.Indexes = tris.ToArray();*/
            }

            _byteCopy = data;
        }
Example #3
0
        public override void Load(byte[] data)
        {
            FileHeader header = new FileHeader();
            int offset = 0;
            header.Load(data, ref offset);

            offset = header.VertexOffset;
            List<Vector3> verts = new List<Vector3>();
            for (int i = 0; i < header.VertexCount; i++)
            {
                Vertex vert = new Vertex();
                vert.Load(data, ref offset);
                verts.Add(vert.Position);
            }

            List<int> tris = new List<int>();
            offset = header.TriangleOffset;
            for (int i = 0; i < header.TriangleCount; i++)
            {
                Triangle tri = new Triangle();
                tri.Load(data, ref offset);
                for(int k = 0; k < 3; k++)
                    tris.Add(tri.Vertices[k]);

                /*Renderable = new RenderData(verts.Count, tris.Count);
                Renderable.Vertexes = verts.ToArray();
                Renderable.Indexes = tris.ToArray();*/
            }

            _byteCopy = data;
        }