Login  Register

Re: How to add colors or normals to custom object?

Posted by Chaz on Feb 23, 2015; 4:37pm
URL: https://forum.jogamp.org/How-to-add-colors-or-normals-to-custom-object-tp4034048p4034061.html

After thousand years...
                Vector3f dest1=new Vector3f();
                VectorUtil.sub(dest1,new Vector3f(x4,y4,z4),new Vector3f(x1,y1,z1));
                Vector3f dest2=new Vector3f();
                VectorUtil.sub(dest2,new Vector3f(x2,y2,z2),new Vector3f(x1,y1,z1));
                float xn = (dest1.y*dest2.z)-(dest1.z*dest2.y);
                float yn = (dest1.z*dest2.x)-(dest1.x*dest2.z);
                float zn = (dest1.x*dest2.y)-(dest1.y*dest2.x);
                float n1 = (float)Math.sqrt(xn*xn+yn*yn+zn*zn);
                nBuff.put(xn/n1+yn/n1+zn/n1);

                VectorUtil.sub(dest1,new Vector3f(x1,y1,z1),new Vector3f(x2,y2,z2));
                VectorUtil.sub(dest2,new Vector3f(x3,y3,z3),new Vector3f(x2,y2,z2));
                xn = (dest1.y*dest2.z)-(dest1.z*dest2.y);
                yn = (dest1.z*dest2.x)-(dest1.x*dest2.z);
                zn = (dest1.x*dest2.y)-(dest1.y*dest2.x);
                n1 = (float)Math.sqrt(xn*xn+yn*yn+zn*zn);
                nBuff.put(xn/n1+yn/n1+zn/n1);

                VectorUtil.sub(dest1,new Vector3f(x2,y2,z2),new Vector3f(x3,y3,z3));
                VectorUtil.sub(dest2,new Vector3f(x4,y4,z4),new Vector3f(x3,y3,z3));
                xn = (dest1.y*dest2.z)-(dest1.z*dest2.y);
                yn = (dest1.z*dest2.x)-(dest1.x*dest2.z);
                zn = (dest1.x*dest2.y)-(dest1.y*dest2.x);
                n1 = (float)Math.sqrt(xn*xn+yn*yn+zn*zn);
                nBuff.put(xn/n1+yn/n1+zn/n1);

                VectorUtil.sub(dest1,new Vector3f(x3,y3,z3),new Vector3f(x4,y4,z4));
                VectorUtil.sub(dest2,new Vector3f(x1,y1,z1),new Vector3f(x4,y4,z4));
                xn = (dest1.y*dest2.z)-(dest1.z*dest2.y);
                yn = (dest1.z*dest2.x)-(dest1.x*dest2.z);
                zn = (dest1.x*dest2.y)-(dest1.y*dest2.x);
                n1 = (float)Math.sqrt(xn*xn+yn*yn+zn*zn);
                nBuff.put(xn/n1+yn/n1+zn/n1);