(2024-01-16, 0:24)Toby Nelson Wrote: I think it only appears to match the part because the implementation of the cylindrical projection is incorrect in LDView. Changing the part to hide an implementation bug in LDView would not be right.
Your proposed change doesn't look right at all in my Blender importer.
I did some more digging, and I feel that there are probably two problems here.
First of all, a cylindrical map projection is NOT equivalent to what TEXMAP CYLINDRICAL produces. If you look at the diagrams of how cylindrical map projection works, it is done as if there is a light in the middle of the earth and everything is translucent. The cylinder that wraps around the earth then receives the projected image of the earth. When doing things this way, it's not possible to represent the north or south pole, because the cylinder would have to be infinitely tall. Also, the farther from the equator you get, the more distorted things become.
The CYLINDRICAL projection model for TEXMAP is kind of the opposite. Set up a cylinder of the given dimensions based on the TEXMAP meta, then project inward toward the axis and outward towards infinity. Any polygons in that area then received the projected texture. (Note that the problem that LDView has at the top is due to the fact that it specifies texture coordinates only for the vertices, and any vertex along the axis corresponds to every single texture coordinate at that Y value.)
Secondly, I'm pretty sure that other than being upside down, and the problem with polygons that have a vertex at the axis, there is nothing else wrong with LDView's texture projection. If you are getting results in Blender that are broken, I think there is probably something wrong with your texture projection calculations. And I also think that the textures that were created for the globe pieces were designed for spherical projection and not cylindrical projection.
If you PM me, I will send you and LDraw model I have of Earth along with a corresponding high-resolution texture. It uses spherical mapping, and you can tell visually by rotating it that if it's not correct, it's at least extremely close. Here is what it looks like when rendered by LDView: