我在Javascript / canvas中构建了一个3D显示应用程序,它运行得很好。我最近实现了贴图纹理的功能。
我从stl格式导入3d模型效果很好,因为它们只存储tris所以很容易导入,因为我没有打破它们但是它们不存储纹理。
纹理的存储方式就是这样
textureObject(){
this.img=image //Js image object
this.triArray=[[x1,y1],[x2,y2]...]//Map of where polys
function returnImage(int i){
//returns a cropped triangle around the coordinates in the triArray.
}
}
实际的实施有点不同,但它的肉和肉汁。虽然它不是完美的纹理映射,但它只是一种仿射变换,它看起来像是罪恶,但对我来说已经足够好了。
我的问题是我不知道如何从已经创建的3d对象中保存triArray,这样我就不必为这个项目创建一个全新的文件格式。
我想我有两个选择:
如果存在其他文件格式的导入器,则将其存储在文件中。 (但是哪种文件格式?)
OR
OR是否有一种将纹理映射到对象的标准方法,然后我可以实现它来创建我的数组? (方法是什么?)