   3D mesh loaders
  Hi All,I have worked on my 2D Iso based engine for many years.. And with the release of v9.0 I am looking to move to add 3D meshes to the feature-set. I have a firm understanding of OpenGL, and don't have a problem with C/C++. This query is regarding the rules of 3D meshes, formats etc..1. What 3D file formats are most commonly used? (low-poly)2. Are there copyrights regarding distributing 3D files.  (My project is shareware.. so if there are any rules I need to know, please chime in.)3. How are mesh animations executed? Are the animation files a list of changing vertexes? 4. How are the textures referencing in the 3D file? The few I've seen appear to be coordinates.. not sure how the texture is reference.I program professionally, but wanted a jump start on the best 3D file formats with the least legal issues for distribution.cheers,   
  Hi!Quote:Original post by exploreRPG1. What 3D file formats are most commonly used? (low-poly)3ds has been for years one of the most used formats but has several limits. Currently I would say that Collada or obj would be good choices to start with, or maybe Lightwave lwo, which I've heard is a very nice format and the specs are available online.If you use loaders like Assimp you can delay the final decision until you know for sure what you need.Quote:2. Are there copyrights regarding distributing 3D files.  (My project is shareware.. so if there are any rules I need to know, please chime in.)I think that the only thing you need is the author permission, either though a permissive licence or given directly by him (i.e. he/she is a friend of your).Quote:3. How are mesh animations executed? Are the animation files a list of changing vertexes?4. How are the textures referencing in the 3D file? The few I've seen appear to be coordinates.. not sure how the texture is reference.Cannot speak about animations, but textures are usually referenced by their name/path. Materials collect several surface properties (color, roughness and so on) and they also will tell you which texture should be used for which channel.  There are several way so map textures on models. The most used one (at least in games) is uv mapping: together with x,y,z coordinates there are also 2 coordinate pairs u=(x, y) v=(x,y). those normalized coordinates have range 0,1 and reference a textel in the texture bound with that surface. You can find the color of each point of the triangle by interpolating the uv coordinates (of course this is what the gfx hardware will do for you).Hope this helpsEDIT:I want just to specify that texture coordinates usually are 0-1, but they can have any value and you specify how to handle values > 1 and < 0 (i.e., the texture can be repeated, or mirrored, or clamped, ...)[Edited by - cignox1 on May 26, 2010 3:06:10 AM]