Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MeshLab: Render obj file with my own computed normals

I am trying to write a obj file with vertices. I am computing the vertex normals in my code and writing to this file as well. When I try to render this file in Meshlab it reads the vertices correctly, but when I go to 'Render->Show vertex normals', it is not showing the normals that I computed. Rather MeshLab computes its own normals and shows them.

I am not sure how I can visualize the normals that I computed/wrote to file. I want to apply Meshlab shader later based on my computed normals.

To test this I created a test obj file-

vn 0.517350 0.517350 0.517350
v 0.500000 0.500000 0.500000
vn -0.333333 0.666667 0.666667
v -0.500000 0.500000 0.500000
vn 0.666667 -0.333333 0.666667
v 0.500000 -0.500000 0.500000
vn -0.666667 -0.666667 0.333333
v -0.500000 -0.500000 0.500000
f 1//1 2//2 3//3
f 4//4 3//3 2//2

This is just one square. Now if I change the normal values in this file, it still shows its own vertex normals when I select 'Render->Show vertex normals'. How can I have my own normals and apply shader that works on my computed normals?? Please help.

Thanks!!

like image 776
rkd Avatar asked Jun 29 '11 00:06

rkd


1 Answers

It seem than today (2019) the problem is solved in meshlab.

In the image below you can see your original .obj file (left), and one modified version changing the orientation of a normal (right). The normal has changed as expected.

enter image description here

like image 195
Rockcat Avatar answered Sep 20 '22 11:09

Rockcat