コード例 #1
0
        private static Vertex GetVertexFromStream(Stream s, int vtStart, System.Numerics.Vector3 modelOffset, System.Numerics.Vector3 modelScale)
        {
            var vert = new Vertex();
            var br   = new BinaryStreamData(s);

            s.Position = vtStart;
            vert.X     = br.ReadInt16() + modelOffset.X;
            vert.Y     = br.ReadInt16() + modelOffset.Y;
            vert.Z     = br.ReadInt16() + modelOffset.Z;
            vert.X    *= modelScale.X;
            vert.Y    *= modelScale.Y;
            vert.Z    *= modelScale.Z;
            return(vert);
        }
コード例 #2
0
        private static UV GetUVFromStream(Stream s, int vtStart, System.Numerics.Vector2 curTexScale, Size curTexSize, bool useUVOffsetFix)
        {
            var uv = new UV();
            var br = new BinaryStreamData(s);

            s.Position = vtStart + 8;
            uv.U       = br.ReadInt16() * curTexScale.X;
            uv.V       = br.ReadInt16() * curTexScale.Y;
            if (useUVOffsetFix) // Fixes UVs offset
            {
                uv.U += 16;
                uv.V += 16;
            }

            uv.U /= curTexSize.Width * 32.0F;
            uv.V /= curTexSize.Height * 32.0F;
            return(uv);
        }