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); }
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); }