OpenGL Assimp模型加载库
OpenGL Assimp庫
- 前言
- 模型加載庫
- 構建Assimp
前言
到目前為止的所有場景中,我們一直都在濫用我們的箱子朋友,但時間久了甚至是我們最好的朋友也會感到無聊。在日常的圖形程序中,通常都會使用非常復雜且好玩的模型,它們比靜態的箱子要好看多了。然而,和箱子對象不同,我們不太能夠對像是房子、汽車或者人形角色這樣的復雜形狀手工定義所有的頂點、法線和紋理坐標。我們想要的是將這些模型(Model)導入(Import)到程序當中。模型通常都由3D藝術家在Blender、3DS Max或者Maya這樣的工具中精心制作。
這些所謂的3D建模工具(3D Modeling Tool)可以讓藝術家創建復雜的形狀,并使用一種叫做UV映射(uv-mapping)的手段來應用貼圖。這些工具將會在導出到模型文件的時候自動生成所有的頂點坐標、頂點法線以及紋理坐標。這樣子藝術家們即使不了解圖形技術細節的情況下,也能擁有一套強大的工具來構建高品質的模型了。所有的技術細節都隱藏在了導出的模型文件中。但是,作為圖形開發者,我們就必須要了解這些技術細節了。
所以,我們的工作就是解析這些導出的模型文件以及提取所有有用的信息,將它們儲存為OpenGL能夠理解的格式。一個很常見的問題是,模型的文件格式有很多種,每一種都會以它們自己的方式來導出模型數據。像是Wavefront的.obj這樣的模型格式,只包含了模型數據以及材質信息,像是模型顏色和漫反射/鏡面光貼圖。而以XML為基礎的Collada文件格式則非常的豐富,包含模型、光照、多種材質、動畫數據、攝像機、完整的場景信息等等。Wavefro
總結
以上是生活随笔為你收集整理的OpenGL Assimp模型加载库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL多光源Multiple li
- 下一篇: OpenGL 网格Mesh