I'm using Scene3D in my QML application. Qt Quick is in charge. The default format returns -1, -1, -1, and -1 for alpha, red, green, and blue. I'm on macOS 10.12.1 with an AMD Radeon HD 6770M 1024 MB.
On Fri, Dec 9, 2016 at 3:26 AM Sean Harmer <sean.har...@kdab.com> wrote: > > > On 09/12/2016 00:28, Philip Schuchardt wrote: > > I figured out why it wasn't working for me. After using the qt3d debug > > build, I noticed that Qt3D was asserting: > > > > ASSERT failure in Q_UNREACHABLE(): "Q_UNREACHABLE was reached", file > > graphicshelpers/graphicscontext.cpp, line 1684 > > > > > > Basically, it was telling me that it had an invalid framebuffer type. I > > had multisampling enabled which would prevent direct reads from a > > framebuffer. Multisampled framebuffers need to be copied to a texture > > before reading to main memory. After disabling multisampling, it still > > wasn't working. Then I forced a new default format with QSurfaceFormat: > > Right. We could handle this multisample resolving internally so please > do file a bug report for this. I also want to add a framebuffer blit > framegraph node for 5.9 too as this has other uses outside of > RenderCapture. > > > > > > > QSurfaceFormatformat=QSurfaceFormat::defaultFormat(); > > > > format.setAlphaBufferSize(8); > > > > format.setRedBufferSize(8); > > > > format.setGreenBufferSize(8); > > > > format.setBlueBufferSize(8); > > > > QSurfaceFormat::setDefaultFormat(format); > > > > > > Then it worked! I tried re-enabling multisampling which caused it not to > > work agian. > > > > > > I think there's currently two bugs for RenderCapture: > > > > 1. The default QSurfaceFormat doesn't work with RenderCapture (on macOS > > 10.12.1) > > What setup are you using? Qt QUick in charge + a Scene3D or pure QT 3D > application? What is the default format you get in this case? > > > > > 2. The multisampling (using Scene3D) doesn't work with RenderCapture > > > > > > Sean, should I make a bug report? > > Yes please :) > > Thanks for investigating! > > Sean > > > > > > > Thanks, > > > > Phi|ip > > > > > > On Sat, Dec 3, 2016 at 4:16 PM Philip Schuchardt <vpica...@gmail.com > > <mailto:vpica...@gmail.com>> wrote: > > > > I prototyped a framegraph using 5.8-beta and RenderCapture, but was > > unable to get anything to save to disk. It creates a > > RenderCaptureReply. The reply gets completed but the image is null > > and nothing is saved. I'm currently saving to "~/testShot.png". Any > > ideas why it's not working? I probably set up the framegraph wrong > > or something. I would be really helpful if there was an example in > > the documentation. > > > > Here's my test example. You can run through Qt Creators -> Tools -> > > External -> Qt Quickt - > qmlscene > > https://dl.dropboxusercontent.com/u/13470469/Renderer3D.qml > > > > On Mon, Nov 28, 2016 at 11:33 AM Philip Schuchardt > > <vpica...@gmail.com <mailto:vpica...@gmail.com>> wrote: > > > > Cool! I didn't see RenderCapture class in 5.7. I glad it was > > added in 5.8. I'll try to prototype something with custom > > framegraph in 5.8. > > > > Phi|ip > > > > On Mon, Nov 28, 2016 at 6:48 AM Juan Jose Casafranca > > <jjcas...@gmail.com <mailto:jjcas...@gmail.com>> wrote: > > > > I will have a better look to how the aspect translates the > > framegraph node to opengl commands. > > > > Thanks! > > > > 2016-11-28 12:42 GMT+01:00 Sean Harmer <sean.har...@kdab.com > > <mailto:sean.har...@kdab.com>>: > > > > On Monday 28 November 2016 12:34:01 Juan Jose Casafranca > > wrote: > > > How does QRenderCapture works? When a capture is > requested it sets a flags > > > and when generating the view, it creates a job that > will render the image? > > > I imagine the QRenderCapture in the framegraph is > important. If you put it > > > right after the ClearBuffers, it will render an empty > image, wont it? > > > > I suspect the issue here is not being clear on the frame > > graph. Each leaf node > > of the frame graph results in a phase of rendering. The > > RenderCapture node > > essentially gets translated into a glReadPixels call for > > that rendering phase. > > If the sub-tree containing the ClearBuffers and > > RenderCapture also does some > > drawing (i.e. doesn't have a NoDraw node) the > > glReadPixels will happen after > > the draw calls so should read back the framebuffer that > > has just been drawn > > to. > > > > Hope this helps, > > > > Sean > > > > > > > > 2016-11-28 12:11 GMT+01:00 Sean Harmer > > <sean.har...@kdab.com <mailto:sean.har...@kdab.com>>: > > > > On Monday 28 November 2016 11:48:14 Harald Vistnes > > wrote: > > > > > Hi, > > > > > > > > > > yes, this would be a most welcome feature. > > > > > > > > > > Concerning Jira, it has already been requested > > multiple times > > > > > https://bugreports.qt.io/browse/QTBUG-52074 > > > > > https://bugreports.qt.io/browse/QTBUG-52136 > > > > > > > > I meant for reading back from a buffer. :) > > > > > > > > > I tried to render into a FBO and read back the > > results, but had some > > > > > problems. I attached some test code in the Jira > > > > > > > > https://bugreports.qt.io/secure/attachment/57353/offscreenrenderer.zip > > > > > > > > but > > > > > > > > > never got any feedback. If someone will look into > > this it would be > > > > > great. > > > > > > > > I'll see if someone can take a look. I may have some > > time next week if > > > > nobody > > > > else can. > > > > > > > > Cheers, > > > > > > > > Sean > > > > > > > > > Thanks, > > > > > Harald > > > > > > > > > > 2016-11-28 11:41 GMT+01:00 Sean Harmer > > <sean.har...@kdab.com <mailto:sean.har...@kdab.com>>: > > > > > > On Monday 28 November 2016 11:40:10 Juan Jose > > Casafranca wrote: > > > > > > > Oh thanks! > > > > > > > > > > > > > > Yes, in fact my first thought was to use it > > for a compute shader. It > > > > > > > > > > > > would > > > > > > > > > > > > > make Qt3D a great tool not only for rendering > > but also for GPGPU. > > > > > > > I will try to have a look on it during the > > Christmas vacations :-) > > > > > > > > > > > > Awesome! Drop by #qt-3d on irc if you need > anything. > > > > > > > > > > > > Cheers, > > > > > > > > > > > > Sean > > > > > > > > > > > > > 2016-11-28 11:31 GMT+01:00 Sean Harmer > > <sean.har...@kdab.com <mailto:sean.har...@kdab.com>>: > > > > > > > > Hi, > > > > > > > > > > > > > > > > On Monday 28 November 2016 11:22:30 Juan > > Jose Casafranca wrote: > > > > > > > > > Hi Sean, > > > > > > > > > > > > > > > > > > is there any example on how to do that? I > > tried to use a > > > > > > > > > > > > QRenderCapture > > > > > > > > > > > > > > but > > > > > > > > > > > > > > > > > I failed two weeks ago. > > > > > > > > > > > > > > > > > > http://code.qt.io/cgit/qt/qt3d.git/tree/tests/manual/ > > > > > > > > rendercapture-qml > > > > > > > > > > > > > > http://code.qt.io/cgit/qt/qt3d.git/tree/tests/manual/ > > > > > > > > rendercapture-cpp > > > > > > > > > > > > > Is there any way to access the buffers > > content data using a > > > > > > > > similar > > > > > > > > > > > > > approach to the QRenderCapture method? > > > > > > > > > For example, in an animation system, use a > > graphics pipeline to > > > > > > > > > > > > compute > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > deformed mesh and then get the new vertex > > positions for export. > > > > > > > > > > > > > > > > Right, that is missing at the moment. It > > would be very useful to > > > > > > > > be > > > > > > > > > > > > able > > > > > > > > > > > > > > to do > > > > > > > > this to read back the results of a compute > > shader too for e.g.. If > > > > > > > > you > > > > > > > > > > > > wish to > > > > > > > > have a go at adding such a feature analogous > > the the RenderCapture > > > > > > > > node > > > > > > > > then > > > > > > > > that would be awesome. If not, we can try to > > do it for 5.9 but the > > > > > > > > > > > > feature > > > > > > > > > > > > > > freeze is approaching. In either case could > > you file a JIRA for it > > > > > > > > > > > > please? > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > Sean > > > > > > > > > > > > > > > > > Cheers > > > > > > > > > Juan José > > > > > > > > > > > > > > > > > > 2016-11-28 11:13 GMT+01:00 Sean Harmer > > <sean.har...@kdab.com <mailto:sean.har...@kdab.com>>: > > > > > > > > > > On Monday 28 November 2016 02:23:59 > > Philip Schuchardt wrote: > > > > > > > > > > > I'm trying to port my OpenGL code ( > > > > > > > > https://github.com/Cavewhere/ > > > > > > > > > > > > > > cavewhere/) > > > > > > > > > > > > > > > > > > > > > to use Qt3D. I think Qt3D will allow > > me to quickly improve > > > > > > > > and > > > > > > > > > > > > modify my > > > > > > > > > > > > > > > > > > > rendering pipeline. The one > > requirement I need is to be able > > > > > > > > to > > > > > > > > > > > > render > > > > > > > > > > > > > > > > > > to a > > > > > > > > > > > > > > > > > > > > > QImage and save it to disk. Currently, > > have a method that > > > > > > > > > > > renders > > > > > > > > > > > high-resolution images from OpenGL. I > > do this by tiling a > > > > > > > > > > > > projection > > > > > > > > > > > > > > > > matrix > > > > > > > > > > > > > > > > > > > > > and rendering the scene one tile at a > > time and combining > > > > > > > > > > > them > > > > > > > > > > > > into > > > > > > > > > > > > > > > > > on > > > > > > > > > > > > > > > > > > > > huge > > > > > > > > > > > > > > > > > > > > > PNG. The problem is I'm not sure how > > to render Qt3D pipeline > > > > > > > > to > > > > > > > > > > > > > > > a > > > > > > > > > > > texture > > > > > > > > > > > and then download if from the GPU into > > memory in Qt3D. Is > > > > > > > > there > > > > > > > > > > an > > > > > > > > > > > > > > easy > > > > > > > > > > > > > > > > > > way > > > > > > > > > > > > > > > > > > > > > to do that? Do I need to create my own > > Aspect? > > > > > > > > > > > > > > > > > > > > Hi, you can use a custom frame graph > > that includes a > > > > > > > > > > QRenderCapture > > > > > > > > > > > > > > > > node > > > > > > > > > > > > > > > > > > (coming in Qt 5.8). If you combine this > > with a camera and some > > > > > > > > > > > > logic > > > > > > > > > > > > > > for > > > > > > > > > > > > > > > > > > tiling the frustum (NodeInstantiator) > > you should be able to > > > > > > > > > > > > replicate > > > > > > > > > > > > > > your > > > > > > > > > > > > > > > > > > existing logic. I'd like to get > > something like this wrapped up > > > > > > > > > > > > along > > > > > > > > > > > > > > with > > > > > > > > > > > > > > > > > > Qt > > > > > > > > > > 5.9. > > > > > > > > > > > > > > > > > > > > > Also, many parts of the documentation > > seem to be missing, > > > > > > > > very > > > > > > > > > > > > > > > light, > > > > > > > > > > > and > > > > > > > > > > > not up to the same standard as the > > rest of Qt's > > > > > > > > documentation. > > > > > > > > > > > > > > Yes this is something I really want to > > have a push on in the > > > > > > > > near > > > > > > > > > > > > future. > > > > > > > > > > > > > > > > > > Cheers, > > > > > > > > > > > > > > > > > > > > Sean > > > > > > > > > > > > > > > > > > > > > Perhaps, > > > > > > > > > > > I'm just missing something from the > > undocumented > > > > > > > > documentation. > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > > Phi|ip > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > Dr Sean Harmer | sean.har...@kdab.com > > <mailto:sean.har...@kdab.com> | Managing Director UK > > > > > > > > > > KDAB (UK) Ltd, a KDAB Group company > > > > > > > > > > Tel. +44 (0)1625 809908 > <+44%201625%20809908> > > <tel:%2B44%20%280%291625%20809908>; Sweden (HQ) > > +46-563-540090 <+46%20563%2054%2000%2090> > <tel:%2B46-563-540090> > > > > > > > > > > Mobile: +44 (0)7545 140604 > <+44%207545%20140604> > > <tel:%2B44%20%280%297545%20140604> > > > > > > > > > > KDAB - Qt Experts > > > > > > > > > > > > _______________________________________________ > > > > > > > > > > Interest mailing list > > > > > > > > > > Interest@qt-project.org > > <mailto:Interest@qt-project.org> > > > > > > > > > > > > http://lists.qt-project.org/mailman/listinfo/interest > > > > > > > > > > > > > > > > -- > > > > > > > > Dr Sean Harmer | sean.har...@kdab.com > > <mailto:sean.har...@kdab.com> | Managing Director UK > > > > > > > > KDAB (UK) Ltd, a KDAB Group company > > > > > > > > Tel. +44 (0)1625 809908 > <+44%201625%20809908> > > <tel:%2B44%20%280%291625%20809908>; Sweden (HQ) > > +46-563-540090 <+46%20563%2054%2000%2090> > <tel:%2B46-563-540090> > > > > > > > > Mobile: +44 (0)7545 140604 > <+44%207545%20140604> > > <tel:%2B44%20%280%297545%20140604> > > > > > > > > KDAB - Qt Experts > > > > > > > > > > > > -- > > > > > > Dr Sean Harmer | sean.har...@kdab.com > > <mailto:sean.har...@kdab.com> | Managing Director UK > > > > > > KDAB (UK) Ltd, a KDAB Group company > > > > > > Tel. +44 (0)1625 809908 <+44%201625%20809908> > > <tel:%2B44%20%280%291625%20809908>; Sweden (HQ) > > +46-563-540090 <+46%20563%2054%2000%2090> > <tel:%2B46-563-540090> > > > > > > Mobile: +44 (0)7545 140604 <+44%207545%20140604> > > <tel:%2B44%20%280%297545%20140604> > > > > > > KDAB - Qt Experts > > > > > > _______________________________________________ > > > > > > Interest mailing list > > > > > > Interest@qt-project.org > > <mailto:Interest@qt-project.org> > > > > > > > > http://lists.qt-project.org/mailman/listinfo/interest > > > > > > > > -- > > > > Dr Sean Harmer | sean.har...@kdab.com > > <mailto:sean.har...@kdab.com> | Managing Director UK > > > > KDAB (UK) Ltd, a KDAB Group company > > > > Tel. +44 (0)1625 809908 <+44%201625%20809908> > > <tel:%2B44%20%280%291625%20809908>; Sweden (HQ) > > +46-563-540090 <+46%20563%2054%2000%2090> > <tel:%2B46-563-540090> > > > > Mobile: +44 (0)7545 140604 <+44%207545%20140604> > > <tel:%2B44%20%280%297545%20140604> > > > > KDAB - Qt Experts > > > > _______________________________________________ > > > > Interest mailing list > > > > Interest@qt-project.org <mailto: > Interest@qt-project.org> > > > > > http://lists.qt-project.org/mailman/listinfo/interest > > > > -- > > Dr Sean Harmer | sean.har...@kdab.com > > <mailto:sean.har...@kdab.com> | Managing Director UK > > KDAB (UK) Ltd, a KDAB Group company > > Tel. +44 (0)1625 809908 <+44%201625%20809908> > <tel:+44%201625%20809908>; > > Sweden (HQ) +46-563-540090 <+46%20563%2054%2000%2090> > <tel:+46%20563%2054%2000%2090> > > Mobile: +44 (0)7545 140604 <+44%207545%20140604> > <tel:+44%207545%20140604> > > KDAB - Qt Experts > > > > > > _______________________________________________ > > Interest mailing list > > Interest@qt-project.org <mailto:Interest@qt-project.org> > > http://lists.qt-project.org/mailman/listinfo/interest > > > > -- > > Phi|ip > > > > -- > > Phi|ip > > > > -- > > Phi|ip > > > > > > _______________________________________________ > > Interest mailing list > > Interest@qt-project.org > > http://lists.qt-project.org/mailman/listinfo/interest > > > > -- > Dr Sean Harmer | sean.har...@kdab.com | Managing Director UK > KDAB (UK) Ltd, a KDAB Group company > Tel. +44 (0)1625 809908 <+44%201625%20809908>; Sweden (HQ) +46-563-540090 > Mobile: +44 (0)7545 140604 <+44%207545%20140604> > KDAB - Qt Experts > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > -- Phi|ip
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest