1
當我在GMax中加載.obj文件時,它位於空間的中心(0,0,0)。 我該如何改變這個位置?有沒有特別的功能?OpenGL pModel翻譯
我不想使用glTranslatef。相反,我希望整個pModel移動(pModel結構改變)。我找到了函數glmScale。翻譯或旋轉有沒有類似的東西?
當我加載OBJ我不服這樣的:
pModelScaun=glmReadOBJ(filename);
glmUnitize(pModelScaun);
glmFacetNormals(pModelScaun);
glmVertexNormals(pModelScaun,90.0);
,然後我用三角形來判斷光源的位置和陰影frascum
for (unsigned int i = 0; i < pModelScaun->numtriangles; i++)
{
//compute the light vector (between the center of the current
//triangle and the position of the light (converted to object space)
for (unsigned int j = 0; j < 3; j++)
{
fvIncidentLightDir[j] = (pModelScaun->vertices[3*pModelScaun->triangles[i].vindices[0]+j] +
pModelScaun->vertices[3*pModelScaun->triangles[i].vindices[1]+j] +
pModelScaun->vertices[3*pModelScaun->triangles[i].vindices[2]+j])/3.0 - lp[j];
}
你能指出我的方式在這種情況下我可以使用變換矩陣?
那麼,如果你想翻譯,然後使用glTranlatef! 看起來你並不是很習慣openGL狀態,但是如果我得到了你錯誤的地方,你必須讓所有的模型在0,0,0,並且只需要在你繪製它們的時候轉換狀態,在此之後,回到帶負載標識或popmatrix的0,0,0 – 2011-12-24 15:06:51
確實,我是openGl的新手。我有一個處理shadowVolumes的複雜算法,它使用pModel的inernal Structure。這就是爲什麼我想改變它。 – 2011-12-24 15:08:13
好吧,發佈一些關於如何加載模型的代碼,以及如何繪製它們。這將有助於回答;) – 2011-12-24 15:19:28