Добавим в команду RW (render wireframe) толщину линий чтобы даже на больших разрешениях экрана их можно было разглядеть:
RW - включить/выключить каркасный рендер
Синтаксис: RW состояние (0/1), толщина
Толщина = 1:

Толщина = 2:

Толщина = 10:

OpenGL рисует линии каркаса какими-то 3D-плоскостями, при больших толщинах концы линий пересекаются друг с другом и видно как они устроены)
Толщина больше 10 на моей Nvidia GeForce GTX 1650 не устанавливается. Гугл говорит об этом что:
Ну тогда ладно.По стандарту видеокарта и драйвер сами определяют максимальную ширину линии, и часто этот лимит (особенно для широких линий без сглаживания) равен всего 10 или даже 1 пикселю.
Команда установки/сдвига опорной точки объекта
Чтобы объект помещать в нужное место пространства, вращать, масштабировать - нужно бы сначала указать его опорную точку. Тогда можно будет его вращать относительно этой точки, или масштабировать. Или, например, установить опорную точку на угол кубика, и дальше при перемещении кубика будет понятно что в указанные координаты мы перемещаем именно этот угол (в который установлена опорная точка).
Добавим команду установки или сдвига опорной точки:
OA - задать/сдвинуть опорную точку объекта (object anchor)
Синтаксис: OA #объект,x,y,z,отн(0/1)
Для каждого объекта помимо номеров треугольников, из которых он состоит, будет храниться такая опорная точка из трех координат X, Y, Z. По умолчанию для нового объекта, создаваемого командой O #объект, #треугольник1, #треугольник2, #треугольник3... она устанавливается в 0,0,0. Потом ее можно вручную поставить куда надо командой OA.
Установка опорной точки объекта
Например, поставим опорную точку в основании кубика по центру. Все его углы от точки 0,0,0 отдалены по XYZ на 1, а ось Y идет снизу вверх, поэтому опорная точка в основании по центру будет 0,-1,0. Флажок "отн(0/1)" поставим в 0 - значит мы просто указываем координаты, в которые нужно поставить опорную точку. В рендере от этого ничего не изменится, но Hippo запомнит эту точку и потом будет все делать с объектом относительно нее:

Сдвиг опорной точки объекта
Иногда нужно сделать, например, поворот объекта, постепенно смещая центр поворота, чтобы объект болтался по необычной траектории.
Если поставить в команде OA флажок "отн(0/1)" в 1 - то указанные в команде координаты будут прибавляться к текущему положению опорной точки.
До этого (выше в разделе про добавление команды OA) мы установили опорную точку на дно кубика в середину (0, -1, 0). Теперь сдвинем ее на потолок кубика тоже в середину. Середина потолка это 0,1,0, поэтому точку надо сдвинуть на 2 по Y. Визуально это тоже, пока что, ничего не меняет в рендере, но после OA 1,0,2,0,1 опорная точка из (0,-1,0) сдвигается в (0+0,-1+2,0+0), т.е. в (0,1,0):

Доработка команда создания новой сцены
Раньше была просто команда N без параметров. Но т.к. мы будем рендерить картинки или даже анимации, то надо где-то указывать размер растра. Впишем его эту команду:
N - новая пустая сцена (new empty scene)
Синтаксис: N ширина,высота
Т.к. рендерируемый растр может быть больше окна, и даже больше экрана, то вставим его в контейнер с полосами прокрутки. Получаем, например, при размере 300x250 пикселей:

А если указать 600x500, то тоже рендерируется, но полученная картинка становится больше контейнера и появляются полосы прокрутки (прямо как в главном окне при рисовании большого рисунка):

Можно еще развернуть окно на весь экран, тогда контейнер станет больше и можно просматривать без полос прокрутки бОльшие размеры сцен. Но для рендера FullHD 1920x1080, например, все равно контейнер нужен чтобы все уместилось на окне.
И теперь можно в начало скрипта поставить две команды - например, указать в них два размера растра с теми же пропорциями (первый это второй, поделенный на 5 по ширине и высоте):
Код: Выделить всё
N 384,216
N 1920,1080Код: Выделить всё
N 384,216
//N 1920,1080А потом, когда все готово, и надо рендерировать финальную красивую версию анимации/видео - делать так:
Код: Выделить всё
//N 384,216
N 1920,1080