Я создаю класс, который принимает граф сцены OpenGL и использует QGLFrameBufferObject
для визуализации результата. Чтобы поддерживать (практически) бесконечные размеры, я использую мозаику, чтобы извлечь много маленьких изображений, которые можно объединить в большое изображение после рендеринга всех плиток.
Я делаю мозаику, устанавливая область просмотра (glViewport
) для всего изображения, а затем использую glScissor
, чтобы «вырезать» плитку после плитки. Это хорошо работает для разрешений до GL_MAX_VIEWPORT_DIMS
, но приведет к пустым плиткам за пределами этого предела.
Как мне подойти к этой проблеме? Нужно ли переделывать камеру или есть хитрые приемы для этого? Я использую Coin / OpenInventor, поэтому любые советы, специфичные для этих фреймворков, тоже приветствуются.