2011-09-07 136 views
0

我在導出3ds max中的mtl文件時遇到了一個小問題。我想在opengl程序中使用obj +它的素材庫。該模型可以很好地導出,但是當我輸出它們時(顏色等看起來很好,所以它發現它們不是完全的,但是所有材料都改變爲標準的),我將所有材料的反射/折射參數都鬆散了。我嘗試從場景和墊子上輸出材料。庫以及相同的結果。任何人都可以幫助我如何在出口後保持材料的反射參數?從3ds max導出mtl文件問題

+0

如果它不包含你現在導出的信息,那麼我會假設你可以編寫一個函數來把所需要的數據導出到一個新的ascii文件中,然後你可以讀回到你的opengl程序中除了你正在導出的文件。 –

+0

感謝您的回覆。我應該寫什麼函數呢?我知道一個基於C++的MaxSDK,它支持編寫插件,但我不熟悉它。對於我想要創建的函數還是可以的,或者您建議使用不同的「框架」? –

+0

最簡單的方法是使用maxscript。並且由於它是面向材料的(而不是網格導出),所以它將非常快速。 編寫輸出數據的簡單腳本並不難。 但我需要知道你的場景中有什麼類型的材料最大? (是「標準材質」着色器?)還是其他不同? –

回答

1

正如您在電子郵件中所述,您使用Glut作爲API。有幾個教程, 我最初認爲你使用了一個引擎,只需要一些值。 但你需要更多的這個。

要在opengl中使用反射\環境映射,你需要一個支持這個的着色器。

所以你需要做的是實現一個反射着色器,並將該位圖傳遞給着色器。

在示例文件中,它可以很好地處理渲染的圖像(因爲3dsmax支持它自己的raytrace材質),但是這不會以任何方式導出。

+0

謝謝您爲此付出的時間和精力,並且抱歉,如果我給出的信息在這裏和那裏都有點不清楚,那麼在2周前纔開始這個整個3d開發的東西,並且仍然有點困惑關於一些東西:) –