как вернуться glScalef ()?

Я не могу воспроизвести вашу проблему с помощью минимального сценария:

$X = Read-Host 'Enter your text'
Write-Host $x 
Pause

При выполнении из контекстного меню «Запуск с Powershell» сценарий читает с хоста и записывает его без проблем. Возможно, в пути к скрипту указан недопустимый символ. Попробуйте добавить паузу в начале и в цикле, чтобы просмотреть ошибки. Также попробуйте запустить его из командной строки Powershell, а не ISE.

5
задан 11 March 2009 в 18:12
поделиться

4 ответа

Вы могли или сделать это как это:

ZOOMSQRT = sqrt(ZOOM);
glScalef(1.0f/ZOOMSQRT, 1.0f/ZOOMSQRT, 1);
glScalef(1.0f/ZOOMSQRT, 1.0f/ZOOMSQRT, 1);

или используйте glPushMatrix/glPopMatrix для восстановления исходной матрицы перед изменением масштаба:

glPushMatrix();
glScalef(ZOOM, ZOOM, 1);
[do whatever you like here...]
glPopMatrix(); // now it's at normal scale again
[do other things here...]
8
ответ дан 18 December 2019 в 08:31
поделиться

Можно просто сохранить матрицу проекции. glPushMatrix (), glScalef ()..., glPopMatrix ()

5
ответ дан 18 December 2019 в 08:31
поделиться

Используйте glPushMatrix () перед Вашим первым glScalef () для продвижения матрицы текущей модели на стек, и затем glPopMatrix (), когда Вы хотите возвратить исходный масштаб, тот путь, там не будут никакие погрешности округления, поскольку нет никаких сделанных вычислений.

4
ответ дан 18 December 2019 в 08:31
поделиться

Сохраните предыдущий размер где-нибудь, скажите в стеке и использовании это.

(анимация перехода назад к предыдущему масштабированию, панорамированию и вращается, установка довольно забавна вместо того, чтобы масштабировать),

2
ответ дан 18 December 2019 в 08:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: