public override MyColor GetColor(V3 intersection) { MyColor couleur; if (Texture != null) { Tools.InvertCoordSpherique(FindSpherePoint(intersection), Radius, out float u, out float v); u /= Tools.TAU; v = -(v + Tools.PI2) / (Tools.PI2 + Tools.PI2); couleur = Texture.ReadColor(u, v); } else { couleur = ShapeColor; } return(couleur); }
public override MyColor GetColor(V3 intersection) { MyColor couleur; if (Texture != null) { // Recuperation de u et v pour recuperer la couleur dans la texture V3 AB = PointB - PointA; V3 AC = PointC - PointA; V3 AI = intersection - PointA; float u = ((AC ^ Normal) * AI) / (AB ^ AC).Norm(); float v = -((Normal ^ AB) * AI) / (AC ^ AB).Norm(); couleur = Texture.ReadColor(u, v); } else { couleur = ShapeColor; } return(couleur); }