已經五月了,花了超過十天的時間研究終於出成果了,寫一篇日誌紀念一下。
pmd,全稱polygon model document,是一種三維模型格式,主要在mikumikudance和pmdeditor等中使用。而關於格式的說明就更少了,所以我的研究主要參考
itsuhane的mmd庫。
pmd格式檔案也是一種簡單二進位制檔案,由於檔案格式規範較為嚴格,因而檔案內的chunk不是很自由,比較好解析。而vmd檔案(全稱vocaloid motion data)描述的是模型動作,需要對模型骨骼進行插值以實現動畫的效果,由於寫完這篇日誌後可能沒有什麼時間了,因而對pmd光照、材質、骨骼的部分以及vmd部分沒有作深入的研究了。
這裡下面是程式的截圖:
這裡預設載入的是洛天依的模型,當然程式附帶的初音ミク、鏡音雙子(リン、レン)、kaito等等都可以載入(開始載入這些模型的時候還出現了小問題,後面再仔細地看了看格式說明才知道需要一些變通方法才可以正確地載入)。
程式使用qt框架構建,使用opengl渲染,此外還運用了qt的狀態機框架、動畫框架。關於其中的飛入-消失特效將會在乙個單獨的日誌中進行講解。由於知識有限,因此opengl渲染還是停留在glbegin()/glend()水平,也不知為什麼讓qt程式使用多取樣抗鋸齒並不成功。此外不知為什麼,在ubuntu13.04下開啟這個程式洛天依的眼睛沒了(大概是luo_eye.bmp檔案無法載入)希望在下乙個版本中加以改進吧。
下面是製作本程式的黑歷史,現在看來簡直是糟糕透了。
#1 沒有處理好紋理
#2 同樣沒有處理好紋理……
#3 可怕!ミク沒有眼睛l了!
#4 雖然有紋理了,但是紋理座標錯了
#5 只用線段繪製,還真像抽象畫
#6 仰視洛天依……o(>﹏
讀取STL模型 並用opengl顯示
說起stl模型,相信使用過cad三維軟體的人都不陌生,stl stl檔案,一種3d模型檔案格式stl stereo lithography的縮寫 stl檔案格式是由3d systems 公司於1988 年制定的乙個介面協議,是一種為快速原型製造技術服務的三維圖形檔案格式。stl 檔案由多個三角形麵片...
PCL 讀取PCD模型並顯示
win10 x64 vs2013 pcl1.8.0 include 標準輸入輸出流 include pcl的pcd格式檔案的輸入輸出標頭檔案 include pcl對各種格式的點的支援標頭檔案 include 點雲檢視視窗標頭檔案 int main int argc,char ar pcl visu...
最簡易的BMP檔案格式讀取和顯示示意程式
在看imagemagick時,忽然覺得,我們應該至少能完全掌握一種是常使用的檔案格式才行。首先想到,應該是bmp,不要求複雜,只掌握24bit,非壓編的bmp即可。於是用wtl的cmemorydc試寫了乙個,因為是第一次這樣按位來setpixel,有很多問題到寫時才覺得複雜,真正完成時,已經是深夜了...