Thanks for your quick response and detailed information.Here are detailed information of my issues.
I created a cylinder in SketchUp and only assigned material to face and didn’t assign the layer material to cylinder model. Then I imported it into my application by calling UVHelper plus TextureScale in S,T, then the material displayed as the left one in the snapshot. You will find the left one imported which is different from the original one in SketchUp in right picture.
Picture is attached for your reference.
I dumped some UV coords by calling these two ways for the same material
vertex_texture.zip (1.7 KB)
We will find the UV coords got by the above two ways are completely different. Detailed information please refer to the zip package.
I tried to use the UV coords got from SUTextureWriterGetFrontFaceUVCoords() plus the texture scale which is const value(1/25.4) in S, T, the material display in my application is correct and it matches to the origin in SketchUp. However, I don’t think it is correct behavior though the result seems to be correct.
Till now, I am talking the material attached on polymesh. If polymesh’s material is from Layer, then I must query UV coords from the function SUTextureWriterGetFrontFaceUVCoords() plus the texture scale got from SUTextureGetDimensions(). Otherwise, the result is wrong.
If polymesh has material; meanwhile a layer’s material is also assigned to polymesh, then the situation is another behavior. So I am confused now. How should I query UV Coords to handle different situations: material only from polymesh, Or material only from Layer, Or material from both?
Appreciate for your help.