Qt實現讀取顯示obj檔案 歸一化座標

2021-07-28 20:23:22 字數 617 閱讀 8921

歸一化座標的最大用處就是將節點座標轉換在-1~1的範圍內,從而可以顯示在我們的視線範圍內!~

總體的思路就是找出節點中最大值作為基數,然後平移,縮放!

//將圖形移到螢幕中間來

float _glunitize(_glmodel* model)

w = _glmabs(maxx) + _glmabs(minx);

h = _glmabs(maxy) + _glmabs(miny);

d = _glmabs(maxz) + _glmabs(minz);

//計算模型的中心

cx = (maxx + minx) / 2.0;

cy = (maxy + miny) / 2.0;

cz = (maxz + minz) / 2.0;

scale = 2.0 / _glmmax(w, _glmmax(h, d));

//將中心按照比例轉換

for (size_t i = 0; i < model->num_vertices; i++)

}return scale;

}

這樣,平移並縮放過後的節點座標就是在邊長為2的立方體中了!~

Qt實現讀取顯示obj檔案 說明

年後回來乙個多月基本上都在研究opengl的東西 由於c qt和三維的基礎基本都是0,所以有些吃力,好在在動手寫 將近20天之後總算做出了一點成績 由於obj格式雖然基本相同,但是還是有些大同小異的地方,我在參考了glm.c的原始碼和我需要讀取的obj格式之後寫出的 這是我的obj檔案的格式,v v...

Qt實現讀取顯示obj檔案 繪製資料

前面的工作做好之後,繪製的 就沒那麼麻煩了,但是要注意紋理座標和麵的節點座標是交替進行的,就是乙個紋理座標,乙個節點座標 否則顯示不出來紋理!成功的圖就不發了,估計是要保密的 渲染模型 void gldraw glmodel model,size t mode if mode gl smooth m...

Qt實現讀取顯示obj檔案 計算面的單位法向量

計算面的法向量是乙個數學過程,相信很多人都已經將這個知識還給老師了!此處應有乙個哭臉 其實主要的原理就是計算兩個向量的點積 dot product 我發誓這個概念真的第一次出現在我人生中 也就是交叉乘積!a a1,a2,a3 b b1,b2,b3 a b a2b3 a3b2,a3b1 a1b3,a1...