Я привязываю к использованию функции gluProject
, чтобы получить координаты точки в 2d-окне после «рендеринга». Проблема в том, что я получаю странные результаты. Например: у меня есть точка с x = 16.5. Когда я использую gluProject
, я получаю x = -6200.0.OpenGL gluProject() - странные результаты
Если я понимаю gluProject
Хорошо, я должен получить положение пикселя этой точки на экране после «рендеринга» - правильно? Как я могу преобразовать этот странный результат в координаты пикселя на экране?
Благодарим за помощь!
код я использую (по «sum1stolemyname»):
GLdouble modelview[16], projection[16]
GLint viewport[4];
glGetDoublev(GL_MODELVIEW_MATRIX, *modelView);
glGetDoublev(GL_PROJECTION_MATRIX, *projection);
glGetIntegerv(GL_VIEWPORT, *viewport);
double tx, ty, tz;
for(i = 0; i < VertexCount; i++)
{
gluProject(vertices[i].x, vertices[i].y, vertices[i].z,
modelview, projection, viewport,
&tx, &ty, &tz)
}
Это не скомпилируется. Вы смешиваете операторы * и &. – 2010-11-27 22:14:55
Исправлено. Благодаря! – MattheW 2010-11-27 22:20:54