Привет, я пытаюсь выяснить, как renderTargets работают в rajawali.
RajawaliVuforiaSideBySideRenderer.java — единственный модуль, который их использует.
Также содержимое не применимо 1:1 к Rajawali Renderer. Что я пробовал до сих пор, так это следующее.
Я создал 2 сцены.
Я создал 3 RenderTargets.
.. основной код:
scene1(); // creating Scene1
scene2(); // creating Scene2
addScene(sc1); adding created scenes to renderer
addScene(sc2);
r1 = new RenderTarget(512, 512);
r2 = new RenderTarget(512, 512);
r3 = getRenderTarget();
addRenderTarget(r1);
addRenderTarget(r2);
plane = new Plane(10,10,1,1);
Material planeMat = new Material();
plane.setRotX(180);
plane.setRotZ(180);
plane.setPosition(0,0,-5);
try{
planeMat.addTexture(r1.getTexture());
planeMat.setColorInfluence(0);
plane.setMaterial(planeMat);
}catch(TextureException t){
t.printStackTrace();
}
addChild(plane);
mUserScene = getCurrentScene();
}
protected void onRender(double deltaTime) {
switchScene(sc1);
setRenderTarget(r1);
render(deltaTime);
switchScene(sc2);
setRenderTarget(r2);
render(deltaTime);
setRenderTarget(r3);
switchScene(mUserScene);
render(deltaTime);
};
Это было только предположение, как это может работать, но приложение вылетает с
GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: возвращается, если к фреймбуферу не прикреплено хотя бы одно изображение.
Я все еще новичок в этом вопросе, и, к сожалению, нет никаких руководств по использованию renderTargets.
Я бы использовал PostProcessingEffects, если бы знал, как их использовать.
Я пытаюсь добавить шейдеры к целым сценам. Поэтому я подумал: «Визуализировать текстуру и добавить шейдерные эффекты».