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

2021-07-28 20:23:22 字數 863 閱讀 4619

前面的工作做好之後,繪製的**就沒那麼麻煩了,但是要注意紋理座標和麵的節點座標是交替進行的,就是乙個紋理座標,乙個節點座標~否則顯示不出來紋理!(成功的圖就不發了,估計是要保密的~)

//渲染模型

void _gldraw(_glmodel* model, size_t mode)

if (mode & _gl_smooth && model->num_normals == 0)

if (mode & _gl_texture && model->num_textcoords == 0)

glpushmatrix();

//gltranslatef(model->center[0], model->center[1], model->center[2]);

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

glbegin(gl_polygon);

//glbegin(gl_quads);

if (mode&_gl_flat)

for (int k = 0; k < f.list_index_points.size(); k++)

if (mode&_gl_smooth&&f.list_index_vertnormals.size()>0)

point3 p = model->list_vertices[f.list_index_points[k]];

glvertex3f(p._x, p._y, p._z);

}glend();

}glpopmatrix();

}

全部的**已經放在了github上了,戳我;

但是沒c++基礎確實看的很辛苦!!!

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

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

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

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

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

歸一化座標的最大用處就是將節點座標轉換在 1 1的範圍內,從而可以顯示在我們的視線範圍內!總體的思路就是找出節點中最大值作為基數,然後平移,縮放!將圖形移到螢幕中間來 float glunitize glmodel model w glmabs maxx glmabs minx h glmabs m...