Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Mesh_normalize( Mesh *myself )
- {
- Vert *vert = myself->vert;
- Triangle *face = myself->face;
- for( int i=0; i<myself->mNumVerts; i++ ) vert[i].normal = vec3(0.0f);
- for( int i=0; i<myself->mNumFaces; i++ )
- {
- const int ia = face[i].v[0];
- const int ib = face[i].v[1];
- const int ic = face[i].v[2];
- const vec3 e1 = vert[ia].pos - vert[ib].pos;
- const vec3 e2 = vert[ic].pos - vert[ib].pos;
- const vec3 no = cross( e1, e2 );
- vert[ia].normal += no;
- vert[ib].normal += no;
- vert[ic].normal += no;
- }
- for( i=0; i<myself->mNumVerts; i++ ) verts[i].normal = normalize( verts[i].normal );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement