public static void PlaceTextureOnFace(Face face, ImageBuffer textureToUse)
        {
            FaceTextureData faceData = FaceTextureData.Get(face);

            faceData.Textures.Add(textureToUse);
            int count = 0;

            foreach (FaceEdge faceEdge in face.FaceEdges())
            {
                FaceEdgeTextureUvData edgeUV = FaceEdgeTextureUvData.Get(faceEdge);
                switch (count++)
                {
                case 0:
                    edgeUV.TextureUV.Add(new Vector2(0, 0));
                    break;

                case 1:
                    edgeUV.TextureUV.Add(new Vector2(1, 0));
                    break;

                case 2:
                    edgeUV.TextureUV.Add(new Vector2(1, 1));
                    break;

                case 3:
                    edgeUV.TextureUV.Add(new Vector2(0, 1));
                    break;
                }
            }
        }
Esempio n. 2
0
        public Vector2 GetUVs(int index)
        {
            FaceEdgeTextureUvData faceEdgeData = FaceEdgeTextureUvData.Get(this);

            if (faceEdgeData != null && index < faceEdgeData.TextureUV.Count)
            {
                return(faceEdgeData.TextureUV[index]);
            }

            return(new Vector2());
        }