Как нарисовать объект от первого лица с использованием OpenGL - PullRequest
1 голос
/ 12 декабря 2011

То, что я пытаюсь сделать, это нарисовать пистолет для игры в фпс, которую я делаю, но всегда кажется, что она выключена.Я знаю, что должен рисовать его последним с отключенным тестом глубины.Но я просто не могу заставить его проследить за камерой.Предположим, что мы просто рисуем треугольник, чтобы представить пистолет прямо сейчас, когда база находится на конце игроков.У меня есть доступ к позиции игрока и точке, где он смотрит (используется для gluLookAt), а также у меня есть доступ к тангажу и рысканию.И идеи о том, что делать?

1 Ответ

1 голос
/ 12 декабря 2011

Я не эксперт, но я бы попробовал что-то похожее на следующее для рисования пистолета:

#If not already in modelview mode
glMatrixMode(GL_MODELVIEW) 

#Push the current modelview matrix onto the stack, leaving us working with a copy
glPushMatrix()

#Translate forward to where we want to draw the gun
glTranslatef(0,0,dist)

#Draw the gun starting from this position, translation may need to account for offset so that it is centered correctly
gun.draw() 

#Get rid of our modified modelview matrix and return to the original so that the camera is in the correct positon
glPopMatrix()

Лучшее руководство, которое я нашел для понимания геометрии OpenGL, это http://www.songho.ca/opengl/gl_transform.html

Удачи! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...