Я чайник ещё в OpenGL и вопрос скорее всего очень чайниковский, но всё же.. :)
Есть некоторая сцена из трёх простых объектов, например - треугольник, кубик, окружность, нарисованные через glBegin/glEnd.
Каким образом можно увеличивать один или два объекта, не затрагивая при этом третьего?
Ведь всякие glTranslatef, glScale, glRotate применяются ко всей сцене.. а как применить к части? :)
гг... полная противоположность XProger`у
>>Я чайник ещё в OpenGL и вопрос скорее всего очень чайниковский, но всё же.. :)
Риторический вопрос.
>>Ведь всякие glTranslatef, glScale, glRotate применяются ко всей сцене.. а как применить к части? :)
представь эти обьекты как отдельные "сцены" и поймешь :)
Попробуй так:
glPushMatrix(); glScale(2, 2, 2); glBegin(); произвольный объект glEnd(); glPopMatrix();
в гугль надо было отправлять, если человек понимает сам, что вопрос "чайниковский", должен погуглить, а не лезть на форум.
bool, это надо знать ещё по каким ключам сёрфить гугл :)
посмотри про операции над матрицами, что за чем идет и нафиг оно надо. Почитай аналитку и прибудет с тобой счастье.
...или, если есть вершины этих объектов, то можно их масштабировать.
ExeLord,О_О,плюнь через плечё и перекрестись..
Я так обычно делаю, потому что, если масштабировать матрицу, то увеличевается блик.
Я тоже так делаю, так как рисую за один проход.
ExeLord
> Я так обычно делаю, потому что, если масштабировать матрицу, то увеличевается блик.
Потому что нормали "едут", на нормал матрицу надо умножать...
ололо.
надо тоже попробовать масштабировать все вершины.
ProgerX
glTranslate, glRotate, glScale влияют не на "сцену", а на матрицу с помощью которой сцена рисуется. Отрисуй 2 объекта с одной матрицей и третий объект с другой матрицей. Делов то.
Тема в архиве.