Не, я имел ввиду в плане вывода на экран. Т.е как нарисовать что-то, смасштабировать(в частности под курсором), сдвинуть(в определнныъ границах), это у меня вызывает определённые трудности, не понимаю и всё тут, хоть тресни. Редактировать, сохранять и т.д... о таком я пока и не мечтаю Вот как в этом примере: с помощью gluOrtho2D получил плоскость отсечения, теперь я представляю, что это и есть мой холст(размером 1200х800 с началом координат в нижнем левом углу), на котором я буду рисовать. Теперь вроде как стало понятно как масштабировать этот "холст", просто применяем glScalef к матрице проекции, тут вроде все просто, но опять же, масштабирование идёт относительно начала координат, т.е нижнего левого угла, а как например смаштабировать относительно центра экрана, или позиции под курсором? Потом, если посмотреть на любую программу для работы с графикой или ккой-нибудь редактор, то мы увидим, что если область просмотра-вьюха, меньше этого самого холста(сцены), то она может передвигаться по нему в определенных пределах(до краёв холста, не дальше), вот как вот это организовать? Спрашиваешь на форумах, ответ обычно стандартный - иди учи матрицы... так что разбираюсь и дозреваю до понимания.
Так что до редактирования и сохранения мне ещё далеко. Хотя с логической точки зрения, выделение не должно быть сложным, если есть холст на котором мы рисуем, то достаточно проверять, над каким элементом находится курсор(по какому элементу клацнули), перебирая все координаты элементов на схеме какие совпали с координатами курсора, тот элемент и перерисовываем с флагом selected или как там. Понятно, что чем больше элементов на экране, тем больше кординат надо проверить и тем медленнее будет работать, но тут уже можно будет подумать над оптимизицией