graphics - vertex normal



MeshLab:用我自己計算的法線渲染obj文件 (1)

並非所有OBJ進口商都尊重法定。 我發現這個舊的bug似乎仍然是開放的關於如何MeshLab忽略OBJ中的法線: http : //sourceforge.net/p/meshlab/bugs/70/

你可能正在做的一切正確,但問題可能不在你身邊。

當處理由於各種軟件的支持程度不同而導致網格交換變得相當繁瑣的時候,如果你有很多的3D應用程序來測試你的輸出數據,這是很方便的。 那麼你可以更快速地找出問題是在你身邊還是他們的。

一個解決方法,如果你絕對需要的對象正確顯示對一個破碎的進口商,不能使用其他格式是手動unweld(複製)的頂點給你那些尖銳的摺痕/硬邊緣。 這不會給你任意指定法線的自由度,但它可以讓你保留這些不連續的邊界,在這些邊界區域不應該平滑插入,而是有一個摺痕。

我正在嘗試寫一個帶頂點的obj文件。 我正在計算我的代碼中的頂點法線,並寫入這個文件。 當我嘗試在Meshlab中渲染這個文件時,它正確地讀取頂點,但是當我去“Render-> Show vertex normals”時,它不顯示我計算的法線。 而是MeshLab計算自己的法線並顯示它們。

我不知道我如何可視化我計算/寫入的法線。 我想以後根據我計算的法線應用Meshlab著色器。

為了測試這個,我創建了一個測試obj文件 -

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

這只是一個方塊。 現在,如果我改變了這個文件中的正常值,當我選擇“Render-> Show vertex normals”時,它仍然會顯示自己的頂點法線。 我怎樣才能有我自己的法線,並應用我的計算法線上的著色器? 請幫忙。

謝謝!!