   Question about 3ds smooth groups
  Hello Good people,I don't know whether this question was already posted here or not.. Anyway Let me tell , I have done parser to parse 3ds files.. Now problems is how to handle smooth groups, i know each faces have an id to indicate which smooth group it belongs to.Somebody told it likes this , if the smooth id is 3 ( 0011 ) it means the vertex normal should be averaged from the smooth group 1 and 2 ( see bit position of 3(11) (2 = 0010, 1= 0001).Is it correct ? Or Anyone have different opinions ? Please reply...^_^Thanks all,KD   
  Maybe you calculated vertex normals before by first calculating face normals and then averaging all the normals of the triangles that share that vertex. Smoothing groups are just information used to preserve hard edges. You basically have two ways of calculating normals: Duplicating vertices that are in different smoothing groups or build an array of vertices equal to numTriangles*3.I will explain the latter algorithm because it's more like the averaging algorithm.INPUT: an array of unique vertices and associated face data.OUTPUT an array of vertices 3 times greater than the number of triangles.   for every triangle F  for every vertex of F, namely VtriangleListsForVertices[index of V].push_back(index of F)   for every triangle F  for every vertex of F, namely V  normal = (0,0,0)  for every triangle F2 in triangleListsForVertices[index of V]  if F2 and F SHARE smoothing groupsnormal += Normal of F2  normal.normalize;  Thank you Deliverance for the reply.I think duplicating vertices solution is better than the other , Because in that case I need to duplicate only the vertices shared by different smoothing group and i just need to update/create new face indexes for them..What you think ?Thanks,KD   ;Quote:Original post by kdworldThank you Deliverance for the reply.I think duplicating vertices solution is better than the other , Because in that case I need to duplicate only the vertices shared by different smoothing group and i just need to update/create new face indexes for them..What you think ?Thanks,KDYeah, duplicating vertices is better and yes you'll have to modify the indices in the face array that remains constant in size but not in values. But this algorithm i presented should get you started because it is easier to implement than the other on first try.   ;  Thank you Deliverance.I have implemented it.. It is working now..