Проблема
Я дошел до того, что в своем проекте я выполняю рендеринг в WebGLRenderTargets и использую их в качестве текстур в моей основной сцене. Это работает, но кажется, что я заставляю его делать гораздо больше работы, чем нужно. Мои сгенерированные текстуры должны быть только 64x64, но поскольку я использую свой основной рендерер (ширина окна по высоте окна) для обоих, он излишне отображает WebGLRenderTargets с гораздо большим разрешением.
Я могу ошибаться, но я считаю, что это увеличивает как обработку, необходимую для отрисовки каждой RenderTarget, так и обработку, необходимую для последующего отрисовки этой большой текстуры в сетку.
Я пытался использовать второй рендерер, но, кажется, получаю эту ошибку при попытке использовать WebGLRenderTarget в рендерере A после рисования на нем из рендерера B:
WebGL: INVALID_OPERATION: bindTexture: object not from this context
Пример
Для справки вы можете увидеть мою абстрактную страницу здесь ( Предупреждение: из-за той самой проблемы, о которой я спрашиваю, эта страница может отставать для вас). Я запускаю симплексную функцию на плоскости в моей вторичной сцене и разбиваю ее на секции, используя размещение камеры, а затем применяю сегменты к частям плитки через WebGLRenderTarget, чтобы они были плавными, но отдельными частями.
Вопрос
Прав ли я в своем предположении, что использование одного и того же размера рендерера гораздо менее эффективно, чем рендеринг на меньший рендерер? И если да, то какое, на ваш взгляд, лучшее решение для этого? Есть ли в настоящее время способ добиться этой оптимизации?