У меня есть вопрос / проблема относительно EffectComposer.
Что я пытаюсь сделать: Я пытаюсь разделить всю постобработку, используемую в моем приложении, между несколькими EffectComposers. Я хотел бы иметь возможность рассчитать, например, 5 шейдеров в EffectComposer1 , затем возьмите изображение, созданное этим композитором, и передайте его обратно в униформу, например, EffectComposer2 . И геометрия, и текстура, используемые в EffectComposer1, подходят (с точки зрения их размера в пикселях) для использования в качестве униформы в EffectComposer2 .
AFAIK, буфер записи / чтения EffectComposers должен содержать текстуру, которая будет отображаться на экране, если для эффекта не установлено значение renderToScreen = true;
.
Если для решения этой проблемы требуется дополнительная информация, сообщите мне.
С уважением, Майкл
Использование three.js r82
1 ответ
Аааааа и мы закончили!
После тестирования и, наконец, создания еще одной проблемы на github, я смог решить эту проблему.
Я придерживаюсь этого пока, так как это работает как абсолютный шарм.
Это код, который я использую для создания текстуры:
var firstOutput = document.getElementById("CanvasOne"); //Get the filled canvas;
var tmpTxt = new THREE.CanvasTexture(firstOutput); //Create the texture;
//Set both min- and magFilter to the correct filtering;
tmpTxt.magFilter = THREE.LinearFilter;
tmpTxt.minFilter = THREE.LinearFilter;
tmpTxt.generateMipmaps = false; //Set this to resolve the image dstortion;
Впоследствии я смог использовать tmpTxt
как униформу.
Похожие вопросы
Связанные вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.