2016-07-09 22:31 GMT+03:00 Sean Harmer <sean.har...@kdab.com>: > Hi, > > On 09/07/2016 14:27, Oleg Evseev wrote: > >> Hi, >> >> I'm trying to understand how can I split entities into groups and render >> them in custom order. >> >> That is, for example, first render SkyBox - behind all entities, than a >> Ground - plane mesh in front of SkyBox, but behind everything else. Then >> render a group of many transparent entities in order of creation. After >> that all other entities render "as usual" with ColorDepthBuffer. >> > > Well, unless you're doing something very fancy, you would normally render > the opaque objects first followed by the transparent objects in back to > front order. >
I see, but in my case those transparent entities - is the path behind vehicle, so that it will always behind all "frontend" opaque entities [image: Встроенное изображение 1] >> For now I'm using one viewport and one camera. >> >> Do I understand right, that I can do such rendering with help of set of >> LayerFilters (like in example Deferred Renderer >> http://doc.qt.io/qt-5/qt3drender-framegraph.html) with different >> parameters of ClearBuffers? >> > > Using Layer components on your entities and LayerFilter nodes in the > framegraph is indeed the way to go. You only need one ClearBuffers per > render target node typically. > > Something schematically like this: > > * Viewport > ** RenderSurfaceSelector > *** CameraSelector > **** ClearBuffers > **** LayerFilter [layer = opaque] > **** LayerFIlter [layer = environment] > **** LayerFilter [layer = transparent] > ***** SortPolicy [ front to back] > ****** RenderStateSet [ disable depth writes ] > This is the typo with SortPolicy, right? Should be "back to front" order as you mention before? I do not understand how to do RenderStateSet [ disable depth writes ] leaf QRenderStateSet *renderStateSet = new QRenderStateSet(); QRenderState *renderState = new QRenderState(); renderState->???; renderStateSet->addRenderState(renderState); How to make "disable depth writes" renderState? And another question: according to http://doc.qt.io/qt-5/qt3drender-qrenderstateset.html#details : > States set on a QRenderStateSet are set *globally* If so, why RenderStateSet is inside last LayerFilter [layer = transparent]? Much appreciated for help! --- Regards, Oleg
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest