Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Барабаны на игровом автомате


Автор: CityAC 27.12.2007, 11:20
На экран вывожу 5 барабанов -  Рисую их  функцией gluCylinder(quadObj, 3, 3, 3, 100, 100); 
Вывожу На них текстуры.
Барабан, находящийся по центру, виден только   с рабочей стороны, Остальные же, левые и правые, показываются как бы сбоку, немного развернутые в сторону. 
Подскажите как их развернуть к пользователю так , чтобы небыло видно боковых частей барабанов.
Посмотрите скриншот, если что не понятно.

Автор: alexbess 27.12.2007, 17:23
Нужно просто повернуть фигуру на определенный угол. 
Например:

Код

glRotate (k,0,1,0); // поворот на угол k вокруг вектора 0,1,0

Автор: CityAC 28.12.2007, 13:10
Вот что получилось
Когда барабаны начинают крутиться получается такая чепуха
Ось остается то на месте.
Можно ли как-то перед прорисовкой объекта развернуть ось координат?

Автор: alexbess 28.12.2007, 16:49
Честно говоря не понятно зачем перед прорисовкой поворачивать ось координат.
По-моему первоначальная задача выполнена успешно.

Но если требуется поворачивать (крутить) барабаны вокруг своей оси, то нужно использовать ту же функцию glRotate только с новыми параметрами.

Автор: TeAnton 24.1.2008, 21:27
У тебя два glRotate, нужно их поменять местами и все будет отлично. Т.е. сначала крутанануть, а потом чуть чуть развернуть, а не наоборот.

Автор: atavinta 31.1.2008, 07:59
Поверни вместе с осью и никаких гвоздев.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)