This code has been declared by its author to be Public Domain code.
Download source code | NormaliseNormals() by simonh | 2002 |
| |
|
Normalises all normals on a particular mesh |
Function NormaliseNormals(mesh)
Local s
For s=1 To CountSurfaces(mesh)
surf=GetSurface(mesh,s)
For v=0 To CountVertices(surf)-1
nx#=VertexNX#(surf,v)
ny#=VertexNY#(surf,v)
nz#=VertexNZ#(surf,v)
uv#=Sqr(nx#^2+ny#^2+nz#^2)
nx#=nx#/uv#
ny#=ny#/uv#
nz#=nz#/uv#
VertexNormal surf,v,nx#,ny#,nz#
Next
Next
End Function |
Comments |
how about "UpdateNormals(mesh)"?
|
|
Devil, That doesn't do the same as the above code.
UpdateNormals makes a surfaces normals point the way its triangle faces, the above code does not disturb the normals vector, but makes its length = 1.
|
Code Archives Forum