Где я могу назвать Gluunproject?
-
10-10-2019 - |
Вопрос
Это действительно простой вопрос.
Где я могу назвать Gluunproject? Нужен ли мне какой -то текущий контекст OpenGL?
Я посмотрел функционируйте здесь, но это не говорит мне, есть ли какие -либо предварительные условия.
Я хочу сделать это:
GLdouble near[3];
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
eq::Matrix4f projection;
getView()->getProjection(projection);
GLdouble *projMatrix = Matrix4d(projection).array;
glMultMatrixd(projMatrix);
glMatrixMode (GL_MODELVIEW);
glLoadIdentity();
eq::Matrix4f camera;
getView()->getCamera(camera);
GLdouble *modelMatrix = Matrix4d(camera).array;
glMultMatrixd(modelMatrix);
const PixelViewport pvp = event.context.pvp;
int viewport[4] = {pvp.x, pvp.y, pvp.w, pvp.h};
// SCREEN HEIGHT NOT CONTEXT HEIGHT
const int y = (int)getWindow()->getPixelViewport().h - event.pointerButtonPress.y;
gluUnProject(
event.pointerButtonPress.x,
y,
0.0,
modelMatrix,
projMatrix,
viewport,
&near[0],
&near[1],
&near[2]
);
near[2] = 1.0f;
GLdouble far[3] = {near[0],near[1], -1.0f};
На моем узеле сервера вместо того, чтобы передать его на мои узлы рендеринга, и пусть они возвращают результат. У сервера нет контекста OpenGL. Могу ли я позвонить в Gluunproject?
Решение
GluunProject не является частью OpenGL. Это часть Glu. Технически вы можете использовать все функции GLU, которые не получают доступ к OpenGL, не имея контекста вообще. GluunProject - такая функция.
Другие советы
Реализация MESA Кажется, не требует текущего контекста.
Не связан с StackOverflow