summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Unify license header usageAntti Kokko2016-01-26867-9625/+12226
| | | | | | | Update old header.LGPL3 to header.LGPL Change-Id: I8eac0cd6bbc276a56df487249cc459c0d4fab165 Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* Refactor picking to use one thread per entityMike Krus2016-01-2515-678/+936
| | | | | | | | | | | | | | Added triangle visitor by refactor the triangle volume extractor Added ability to do a ray intersection with a single volume without using a thread Added entity collector Use one thread for each entity Ignore entities that don’t have a pick object Removed list of triangle volumes stored on each entity Use triangle visitor to test each triangle by creating a single volume on the stack Added triangle and 3 vertex index to the pick event Change-Id: Id3fd53549bf3ea07805426ef868df174f30e176b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Expose picking details to front endMike Krus2016-01-2514-78/+166
| | | | | | | | Intersection (world and local) and distance added to pick event Modified test so that it includes the event Change-Id: I8631d626e5108d2e044374ee3425625f5588c38c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QInputAspect: create EventSourceSetterHelper in main threadPaul Lemire2016-01-227-16/+42
| | | | | | | | | | | | Turns out that on initialize is called in the AspectThread. Since event filters objects need to be created in the same thread as the event source (the main thread), code has to be corrected. Now the eventSourceHelper is created directly by the InputHandler when it is created (as it's created in the main thread). Then onInitialize only takes care of setting the eventFilterService which isn't available before. Change-Id: I2cb18372337793230625f699a2ed51c7331af971 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QAspectEngine/QAbstractAspects: get rid of setDataPaul Lemire2016-01-2221-312/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | Getting rid of set data and the refactoring on setting the surface implies that: - Given the FrameGraph configuration, there may be several RenderViews each having a different RenderSurfaceSelector/Window - This means that the Renderer/QRenderAspect can't know about the surface before reading the scene - This means that the Renderer may be dealing with more than 1 window - This means that initialization, render and shutdown procedures will have to be updated accordingly Therefore the Renderer was refactored to: - Be initialized without knowing about a surface - For each RenderView, check the surface and if different from the previous one: * Make the context current with it * Create the appropriate glHelpers (as Surfaces may have != formats) TO DO: - Fix picking - Fix windows exposition - Fix shutdown / detection of all windows beging closed Change-Id: I49d070b05f46be4b26cfb57e494feba145d1da9c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Renderer/Scene3D: fixes to make it work without setDataPaul Lemire2016-01-225-16/+41
| | | | | Change-Id: Iec1d3bab2e3a5a25d1cbb5129addebd83b225580 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Updated picking-qml examplePaul Lemire2016-01-2113-13/+90
| | | | | | | handle device pixel ratio and none full-window Scene3D Change-Id: Iadc504a00816d9363847bf9ec1e09d4b7c631666 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Port FrameGraphManager away from QResourceManagerTobias Koenig2016-01-208-71/+128
| | | | | Change-Id: I7399008adb0f612c78738f58f168fa38cf6ae845 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Register QInputSettings to QMLPaul Lemire2016-01-191-0/+2
| | | | | Change-Id: Ic97a780c56e748648108413c91fe4ad4142de8bc Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QInputSettings: add missing export and clone macrosPaul Lemire2016-01-191-1/+3
| | | | | Change-Id: I2edf49248cff1bc8087f6ea5398e11f5fd7965c4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Cone geometry addedRobert Brock2016-01-197-0/+1054
| | | | | | | | | | | | | | | | | A cone that takes: - topRadius - bottomRadius - hasTopEndcap - hasBottomEndcap as well as the usual Cylinder arguments of: - length - rings - slices Task-number: QTBUG-41548 Change-Id: Id6b7352491be16146722c480a82b926ecb9c9c24 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QInputAspect: hookup EventSourceHelper/InputSetingsPaul Lemire2016-01-197-6/+30
| | | | | Change-Id: Idab8e24f80ae2be457bbc790f6784db8e02d5a2f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QInputAspect/InputHandler: add EventSourceSetterHelper memberPaul Lemire2016-01-194-16/+32
| | | | | Change-Id: I4445f150016db8a79997ecc5324e42b024b489b8 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add EventSourceHelperSetterPaul Lemire2016-01-193-2/+169
| | | | | Change-Id: I91b76f1206fa0b6c398f0913586757c6419936b4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QInputAspect: register backend type for QInputSettingsPaul Lemire2016-01-191-0/+4
| | | | | Change-Id: I6fae57e8d76f464be3bfcd0cc4e63b7ca5fe3e48 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* InputSettings: add creator functorPaul Lemire2016-01-192-0/+52
| | | | | | | Takes care of setting the settings on the InputHandler at most once. Change-Id: Ie674f778aec9ccd81d1a41ebbfec3cf61fb21bc4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add InputSettings member on InputHandlerPaul Lemire2016-01-192-0/+12
| | | | | Change-Id: I33be7349d5c61554402d9373ff04547b186d2d8e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* InputSettings: backend for QInputSettings addedPaul Lemire2016-01-193-2/+156
| | | | | Change-Id: I4f8ba75e95ab479c816a9f6eca341edd45c01e3c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QInputSettings addedPaul Lemire2016-01-194-2/+224
| | | | | | | | Will be used to specify the event source for mouse/keyboard to be used by the QInputAspect as a replacement for setData Change-Id: Icd3ab33f5e2d7a198c4747683da5bc902de62221 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Aggregate action functionalityColin Ogilvie2016-01-197-18/+173
| | | | | Change-Id: Iac5e6bfd2ad67b3c1c9a794ea528204eff238d20 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAxisActionHandler: properly set parent on QLogicalDevicePaul Lemire2016-01-192-4/+7
| | | | | | | Otherwise the backend node for the logical device may not be created Change-Id: I90e8185b4e1f1cf4333d7f8b06e654e1e2b6de57 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add automatic aspect ratio support for camera in Scene3DSean Harmer2016-01-192-2/+72
| | | | | Change-Id: Ibb3378e2e1d495986f68902e368847e89d8fbdd6 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Automatically set the render surface on a Scene3D itemSean Harmer2016-01-192-1/+39
| | | | | Change-Id: Iebf8f8d681461a050a240777c7d6b602ba85ef06 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Protect against a null surface in the renderview processing logicSean Harmer2016-01-191-0/+8
| | | | | Change-Id: I31eab49aff2af5b9d2341709c506f9d5525994ac Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Expose QTextureLoader to QMLMauro Persano2016-01-181-0/+1
| | | | | Change-Id: Id6f86dddb1afa3884bdf20f30cd9b13eaa05baec Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Refactor the scene3d classes into one class per pair of filesSean Harmer2016-01-1812-546/+1144
| | | | | | | No functional changes. Change-Id: I5895e3bcaf65fb7524e6adb10bca1f8c6fdb6c44 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Have Qt3DQuickWindow manage window surfaceSean Harmer2016-01-182-0/+6
| | | | | Change-Id: I3d034728781aa5b99868c92ea73ebf427ee88c5a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Temporarily expose window to QML contextSean Harmer2016-01-181-0/+4
| | | | | | | | | Allows to restore most of the QML examples using this approach until a more permanent solution can be developed (I have an idea on how to do this and will try it today). Change-Id: I9b9bb86a5323140be3ed2456cdfa91b1f93187b1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add a RenderSurfaceSelector to ForwardRendererSean Harmer2016-01-181-12/+16
| | | | | | | | In preparation for setting the window automatically from the convenience helper class for window + QML + Qt3D. Change-Id: I78fb3a874e900afe1097920f7ccda9f6aa26734f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add window convenience property to QRenderSurfaceSelectorSean Harmer2016-01-183-1/+30
| | | | | | | | | | Behind the scenes this just updates the QSurfaceProperty which is all we care about on the backend. This is for QML since QSurface is not a QObject subclass (even though all sub classes of QSurface are via MI, grrrrr). Change-Id: I248eb59a92ed3bc99361ff23a0cd20d3c191769b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add annotations to QNormalDiffuseMapAlphaMaterial defaultSean Harmer2016-01-171-1/+10
| | | | | Change-Id: Idac0899f153254c26ed5a07761179c01504fd49f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Make renderer us QSurface from RenderViewSean Harmer2016-01-171-16/+32
| | | | | Change-Id: I58180aea694de7a0c17e8ca9ba9f83755e3db419 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Increase frame allocator max object size a littleSean Harmer2016-01-171-1/+1
| | | | | | | | Adding the surface pointer to the RenderView pushed us over the old limit. Change-Id: Ibc28ffc2d56e6f768294dad971c00822e6aaffb6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add surface selector to forward renderer framegraphSean Harmer2016-01-173-1/+25
| | | | | Change-Id: I9c436d3f5b9181075bfc0121174d530406f45c69 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Store the surface to use in the RenderViewSean Harmer2016-01-173-0/+16
| | | | | Change-Id: I4dbdfe9315dc3b0bb89119372301d24a292520d9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Export QRendererSettings to QMLSean Harmer2016-01-171-0/+4
| | | | | Change-Id: Ie1d4c0e6beb409047d634e6def15d80203dcf8a1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Export QRenderTargetSelector to QMLSean Harmer2016-01-171-0/+4
| | | | | Change-Id: I783e9873d6be6475f7df52933fea3ff72da35aaf Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Register renderer settings and set on rendererSean Harmer2016-01-176-0/+83
| | | | | Change-Id: I7f4a0c7a51721e8425f9e32aa1a0609fc3e5ee14 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add backend for renderer settingsSean Harmer2016-01-173-2/+162
| | | | | Change-Id: I7e87cb106681c384a1b431a362fa904afafb877a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add QRendererSettings frontend classSean Harmer2016-01-174-2/+279
| | | | | | | | | Now sure if we should fold QFrameGraph into this too so as to have one place to configure the renderer. Of course we can easily aggregate both a QRendererSettings and FrameGraph components into an entity. Change-Id: Id17c185de908eedbcc53afe726a14f0c6f91ffca Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Register render surface selector types with aspectSean Harmer2016-01-171-0/+3
| | | | | Change-Id: Ia628cf7cff8698ae1bd390ed248b99780e1fbd37 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add "We mean it" warningSean Harmer2016-01-171-0/+11
| | | | | Change-Id: Id52b55412be4e5e27476e05d1d66d226fcf5601e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add RenderSurfaceSelectorNode to frame graph backendSean Harmer2016-01-174-3/+165
| | | | | Change-Id: Ibd50fe11628d766588097a684be9e46254a5371b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add QRenderSurfaceSelectorSean Harmer2016-01-174-2/+248
| | | | | Change-Id: I65fbfed5bcf244668021878c0cfddb75d530e56e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix deprecation warningsSean Harmer2016-01-179-9/+9
| | | | | Change-Id: I1ec0536ba81c738fc330f7f4c615a4e216645ea0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix annotations in QSkyboxEntity defaultSean Harmer2016-01-172-0/+12
| | | | | Change-Id: I31ac1aba277a472577e1ba03c766dc4f1bf01f30 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix annotations in QDiffuseMapMaterial defaultSean Harmer2016-01-172-1/+14
| | | | | Change-Id: I6400350e8cbb52095859508a900225ee2fd7108f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix annotations in QDiffuseSpecularMapMaterial defaultSean Harmer2016-01-172-2/+14
| | | | | Change-Id: I42a2ef40d274dab27971a17611dd5dd058e67653 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix annotations for QGoochMaterial defaultSean Harmer2016-01-172-1/+12
| | | | | Change-Id: I5cb3fb08fd9208e7e452e04cb4976033d091202d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix annotations in QNormalDiffuseMapMaterial defaultSean Harmer2016-01-172-2/+14
| | | | | Change-Id: I3da1cb2912efb6be8dc8dbacf3bae915199860ea Reviewed-by: Paul Lemire <paul.lemire@kdab.com>