Hi,
On 07/07/2016 09:46, Émeric MASCHINO wrote:
Hi,
2016-07-01 17:37 GMT+02:00 Sean Harmer <[email protected]>:
Hi,
<snip>
Frustum culling is simple once you have the bounding volumes for entities and
the planes forming the view frustum. These are computed elsewhere to where the
culling is actually performed. The culling is currently performed at:
http://code.qt.io/cgit/qt/qt3d.git/tree/src/render/backend/renderview.cpp#n541
Well, unless I'm missing the point, I only see m_frustumCulling member
variable with setter/getter. But that's all: nobody seems to care
about the status of this member variable, nor if it was set when a
QFrustumCulling instance was found in a RenderView's frame path. Or
maybe is it because you're in the process of rewriting things for more
parallelism as you told?
Yeah, the change I linked to has already been merged, so that code has
now changed and all is done within the frustum culling job.
We are actually in the process of parallelising much more of the work that Qt
3D does on the backend. So shortly this will be done in a separate job:
https://codereview.qt-project.org/#/c/159300/
As a side note, how jobs then "interface" themselve in the rendering process?
The Renderer is responsible for instantiating suitable jobs and setting
up the dependencies between them. In this case the renderer creates a
job to perform the world transform updates, then update the bounding
volume hierarchy. Once this is done the renderer performs a frustum
culling job (if enabled in the framegraph) using the data from the
previous jobs and the planes defining the frustum of the currently
selected camera (also from the framegraph).
Other kinds of filtering can also take place such as limiting entities
to a subset of defined layers. This is done in yet another job.
Much of this logic is controlled by the frame graph visitor:
http://code.qt.io/cgit/qt/qt3d.git/tree/src/render/framegraph/framegraphvisitor.cpp#n139
Cheers,
Sean
Hope this helps,
Yes, thanks :-)
Émeric
_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest