Когда я загружаю файл .obj в GMax, он располагается в центре пробела (0,0,0).
Как я могу изменить эту позицию? Есть ли особая функция?
Я не хочу использовать glTranslatef. Скорее, я бы хотел, чтобы весь pModel переместился (структура pModel изменилась). Я нашел функцию glmScale. Есть ли что-нибудь похожее для перевода или вращения?
Когда я загружаю объект, я делаю что-то вроде этого:
pModelScaun=glmReadOBJ(filename);
glmUnitize(pModelScaun);
glmFacetNormals(pModelScaun);
glmVertexNormals(pModelScaun,90.0);
и затем я использую треугольник для определения положения света и тени.
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];
}
Можете ли вы указать мне, каким образом я мог бы использовать матрицы преобразования в этой ситуации?