I have been looking with great interest at the publication in SIGGRAPH 1995 about compression of normal.
Deering, Michael. "Geometry Compression." Computer Graphics Proceedings, Annual Conference Series, 1995, ACM SIGGRAPH, pp 13-19. I have been also looking at http://java.sun.com/products/java-media/3D/forDevelopers/j3dguide/AppendixCompress.doc.htm that mentioned the algorithm to compress a normal vector into a 17bit word. However , I have a problem understanding how the 11 bits could be generated from the normalize Tetha and Phi parameters ( so called u and v) for the no special case we have : 0 <= U <= 63 and 0<=V<=63 with U+V<=64 U = 64 implies V=0 and is treated as a special case V = 64 implies U=0 and is treated as a special case as well 64(S) + + + + + + + + + etc... + + ... + + + + 0 + + ... + + + + (S) 0 64 The normal in the first sextant can be store in a 64*64 triangle. hence we have ( 64 + ( 64 + 1) / 2 ) = 2080 values that can be indexed if we remove the 2 special case we end up with 2072 to index. But 2080 stores in 11.02226 bits => it seems that for only 32 values we need to store the index in 12bits. I am sure that we can reduce the maximum size by 30 values. by probably considering that edges could be shared. Can someone describe the method implemented in Java3D to get ride of the 30 values ? Can someone provide me with some information how to build up the index table . =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".