Thanks, that is helpful to know for the future. What I ended up doing is finally just use one RenderTarget for each sub-framegraph and different textures bound to Color0. That is much easier for what I’m trying to do. I guess I was expecting RenderTargetSelector to have the effect of specifying the output attachments of the fragment shader as well, and not require changes to the shaders themselves.
Really appreciate the help and all the great work on Qt3D! Gil From: Paul Lemire <paul.lem...@kdab.com> Date: Wednesday, August 7, 2019 at 3:03 AM To: Gil H <q...@tastytech.ca>, Qt Interest <interest@qt-project.org> Subject: Re: [Interest] Qt3D Multiple color targets not working Hi Gil, You shouldn't have to actually modify the Material to add in more passes. What you have to do is edit the fragment shader to have more than 1 color output: e.g: out vec4 fragColor1; out vec4 fragColor2; out vec4 fragColor3; void main() { fragColor1 = color; fragColor2 = color; fragColor3 = color; } By default the declaration order of the output maps to your attachments: first output goes to ColorAttachment0, second output to ColorAttachment1 ... On 8/6/19 6:14 PM, Gil H wrote: Thanks Paul. My understanding of how to accomplish that would be to create an Effect with multiple RenderPasses and then in the framegraph specify a filter for each pass and the output surface for it. Is that all? I don’t see anything in the shaders that is specific to the attachment… is anything needed on that side of things? Gil From: Paul Lemire <paul.lem...@kdab.com> Date: Monday, August 5, 2019 at 2:36 AM To: Gil H <q...@tastytech.ca>, Qt Interest <interest@qt-project.org> Subject: Re: [Interest] Qt3D Multiple color targets not working Hi Gil, I'm pretty sure that's because you are using the PhongMaterial which only writes to Depth and Color0. You'd need to have your own material which writes to 3 different outputs to properly populate the 3 color attachments. Paul On 8/1/19 7:42 PM, Gil H wrote: Hello everyone, I’m sure I’m doing something wrong here, but basically, I’m trying to render multiple frame graph subtrees into multiple texture targets, and then draw those as part of the final scene (kind of like seeing security camera feeds on a few textured quads). Attached is my minimal test app which shows that only textures attached to Color0 seem to contain anything. Is it because the surface is a QWindow? I’ve tried a more complicated example with an offscreen render surface and an FBO with multiple color attachments added to it, but the textures I got back from that were still empty. Tested this on Mac with Qt 5.13.0. If anyone is curious about why you would want to do this, I need to render up to 3 different Qt3D scenes for integration into an external GL engine. So different camera views and scene sub-trees need to be drawn onto separate textures each frame. _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest -- Paul Lemire | paul.lem...@kdab.com | Senior Software Engineer KDAB (France) S.A.S., a KDAB Group company Tel: France +33 (0)4 90 84 08 53, http://www.kdab.fr KDAB - The Qt, C++ and OpenGL Experts _______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest -- Paul Lemire | paul.lem...@kdab.com | Senior Software Engineer KDAB (France) S.A.S., a KDAB Group company Tel: France +33 (0)4 90 84 08 53, http://www.kdab.fr KDAB - The Qt, C++ and OpenGL Experts
_______________________________________________ Interest mailing list Interest@qt-project.org https://lists.qt-project.org/listinfo/interest