Я нарисовал проволочный цилиндр в JOGL и хочу, чтобы он стоял, когда выходит из экрана?
Я возился со следующим кодом, чтобы выполнить поворот, но он не вращается:
gl.glRotatef(cylinder_a, 0, 0, 90);
Как правильно вращать цилиндр в JOGL?
Я нарисовал проволочный цилиндр в JOGL и хочу, чтобы он стоял, когда выходит из экрана?
Я возился со следующим кодом, чтобы выполнить поворот, но он не вращается:
gl.glRotatef(cylinder_a, 0, 0, 90);
Как правильно вращать цилиндр в JOGL?
Согласно документация JOGL для gl.glRotatef
его аргументы: angle
, x
, y
, z
. С аргументами 0
, 0
, 90
для x, y, z вы определяете вектор вдоль +z, указывающий за пределы экрана. Это означает, что вы вращаете цилиндр вокруг своей оси, поэтому изменение не очевидно. Чтобы заставить его стоять «вертикально», вам нужно повернуть его вокруг оси x.
(Вы можете изменить способ, которым x, y и z указывают в OpenGL, но обычно +x указывает вправо, +y указывает вверх, а +z «выходит» за пределы экрана. Вы можете использовать правило правой руки, чтобы запомнить это.)