summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Examples: fixed to work with QAbstractTransform as QObjectPaul Lemire2015-04-271-1/+3
| | | | | | | | Also fixed QTransform to copy proper transformation matrix to work when loaded in the backend and sent to the frontend. Change-Id: Iec417fd49092b5e3d7971784327ff4bbfb75549b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* NoDraw/QNoDraw registered in QRenderAspectPaul Lemire2015-04-271-0/+3
| | | | | Change-Id: If23cab7c9d12b99974460d5001663d9c40e26eaa Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderView handle NoDraw casePaul Lemire2015-04-274-1/+12
| | | | | | | | | If a NoDraw was defined in the FrameGraph tree, the RenderView noDraw boolean is set to true. In the RenderViewJob, RenderCommand are build only if noDraw is false. Change-Id: I507da45835022421a75c4539cf39b1f626a9521b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* NoDraw backend node for QNoDraw addedPaul Lemire2015-04-274-3/+142
| | | | | Change-Id: I085353a1e2779b3283dbb99101569198c782efc3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Register QNoDraw to QML as NoDrawPaul Lemire2015-04-271-0/+2
| | | | | Change-Id: I264f5ced16207f0a3539a4a03cebdc4e7bb2de18 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNoDraw: added missing export and Q_OBJECT macrosPaul Lemire2015-04-271-1/+2
| | | | | Change-Id: Id11de82193ea7a646e3eda58e588bbc01481a185 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QNoDraw FrameGraph node addedPaul Lemire2015-04-253-2/+133
| | | | | | | | This will offer a way of preventing a RenderView from processing meshes but rather only setting rendering states and/or clearing buffers. Change-Id: I76b9f8c0b3e8410944e9e80f3d6688416adf2edf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QFrameGraphNode copy takes care of copying FrameGraphNode childrenPaul Lemire2015-04-2510-20/+5
| | | | | | | | This avoids having each QFrameGraphNode subclass do a clone of the children in their copy methods. Change-Id: I2e1ef2b924a3e2a9eb7b90b69711162493dea89f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Renderer: apply per RenderView global RenderStatePaul Lemire2015-04-256-9/+35
| | | | | | | | | | | Each RenderView now has a RenderStateSet. If the FrameGraph tree contains a StateSet node, the RenderStateSet will be created and filled correctly in the RenderView. Otherwise the RenderView's RenderStateSet will remain null. When comes render time, foreach RenderView, if the RenderStateSet is not null, it will be applied before processing the rest of the RenderView. Change-Id: Id0aecce1f77950665e17ff759336d7fc29a0afcf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* StateSetNode: backend framegraph node for QStateSetPaul Lemire2015-04-254-3/+190
| | | | | Change-Id: I9f7a08b1315d1c2ffce1823edb52a41c33bce656 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move RenderState creator to renderstate for further reusePaul Lemire2015-04-253-85/+91
| | | | | | | | Otherwise only renderrenderpass can create backend renderstates from a frontend QRenderState. Change-Id: I94b8c527af78113b1fdd5cb654db47e1ce5e3c70 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Quick3DStateSet extension classes for QML of QStateSetPaul Lemire2015-04-254-2/+182
| | | | | | | | QStateSet,Quick3DStateSet registered as an extended object under the StateSet name. Change-Id: I4334958ab55e403c532f3c200eb273925403dcb5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QStateSet FrameGraph Node addedPaul Lemire2015-04-254-2/+282
| | | | | | | | Will allow to set RenderState in a global manner instead of relying on per Material states Change-Id: I629a06968b07ebdc3aecbb91679c9e9f1a50db1a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QTechnique use private slot to send OpenGLFilter ChangesPaul Lemire2015-04-253-11/+13
| | | | | Change-Id: I070360e5b05c7e974664ea0825f3d8ef231ef006 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRenderPass use QNodePtr to send clonesPaul Lemire2015-04-252-2/+3
| | | | | | | and updated tst_renderrenderpass Change-Id: I9fae01de6c1c343cdc327cfed5ffa0cf16b01988 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Implement ThreadPooler using QThreadPoolMika Salmela2015-04-2412-562/+184
| | | | | | | Re-implemented ThreadPooler to use QRunnable and QThreadPool. Change-Id: I3da0182489b648dcb6b671c57b4474c183bddeec Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* QEntity: doc fix, added missing * to properly close commentPaul Lemire2015-04-241-1/+1
| | | | | Change-Id: I604236f390990285ab81634a976ae11769dd70ec Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QComponent: completed docPaul Lemire2015-04-231-7/+27
| | | | | Change-Id: I916a315254c7724796ee085e99877f96f9d95a9a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QEntity: some doc addedPaul Lemire2015-04-231-0/+48
| | | | | Change-Id: I37191b6459c6f0641ad535ceeae259b5c63350ad Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNode: add some documentationPaul Lemire2015-04-231-2/+59
| | | | | Change-Id: If0d51932972189ed9cf007c12725de18764792cc Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Doc: Fix multiple C++ documentation issuesTopi Reinio2015-04-1492-402/+771
| | | | | | | | | | | | | | | | | | | - Remove multiple \namespace commands for namespace Qt3D. QDoc in 5.5 is now able to collate namespace members from multiple modules. - Mark 'Q...Private' classes and functions taking private arguments as \internal - Use correct \qtvariable for Qt 3D Core and Render - Add src/plugins directory to Qt 3D Core documentation build to correctly generate Assimp-related documentation. - Ensure documentation for C++ properties is visible by using the \property command instead of documenting the setter/getter functions. - Add export and logging macros to qdoc ignore directives - Remove unnecessary use of \fn command - Language and styling fixes Change-Id: I2481fa30ad2f6869b85c038c20ff1730b8522d46 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Use QDebugStateSaver to restore space setting in stream operators.Friedemann Kleint2015-04-013-4/+7
| | | | | | | | Returning dbg.space() breaks formatting on streams that already have nospace() set. Change-Id: I645a3a06176a394921e75b56dd725f291db55fb3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add QRay3DRémi Benoit2015-03-243-1/+465
| | | | | Change-Id: I5e45f6275c69ea38866086be61a1390bbb31cb9d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Make QAbstractTransform derive from QObject directlyKonstantin Ritt2015-03-2319-121/+66
| | | | | | | | The backend will never know about sub-transforms, so there is no any sense in making them a part of the scene. Change-Id: I575689ef4a2bbe871d16715ea6d7ff6b5858c566 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fill the whole window on retina Macs.Gunnar Sletta2015-03-211-0/+4
| | | | | Change-Id: Iaa45e456bf884ed53491a8add453e9c7830cd520 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix inconsistent overrides. [-Winconsistent-missing-override]Sergio Martins2015-03-201-2/+2
| | | | | Change-Id: If5660b1145daefef40a861417ff2f7f0fe783bfa Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* [QTransform] Track the transforms list and notify when it changesKonstantin Ritt2015-03-185-9/+38
| | | | | | | This also guarantees QTransform doesn't access a deleted sub-transform. Change-Id: Id172caa14a5ed791cb6b22fb50fcc83e9129ae44 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Add Qt3D landing pageTopi Reinio2015-03-173-2/+77
| | | | | | | | | | | | Add a top-level landing (index) page for Qt3D that links to information about the Qt3D modules, overviews, reference pages and examples. Add the Core and Render modules into a 'qt3d-modules' group so they will be listed on the index page. Change-Id: I18f0ec82a676f24e89c5eb068463482a6bd9e59d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Add skeleton documentation for the examplesTopi Reinio2015-03-174-4/+20
| | | | | | | | | | | | Add a skeleton version of the example documentation for each example, create a group page for them and link to it from the module landing pages. This allows browsing the example code from the docs and also enables listing them in Qt Creator's Welcome mode. Change-Id: I1ba16399b115bb8c5503bc91d2a8dee46417cd01 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* [Assimp scene loader] Fix loaded camera orientationKonstantin Ritt2015-03-161-12/+8
| | | | | | | | | | | There were several bugs in a single place: - aiCamera::GetCameraMatrix() produces a viewing matrix flipped around Y - additional QMatrix4x4::lookAt() transformation has been applied - and moreover, QMatrix4x4::lookAt(.., .., QVector3D(0, 0, 0)) produces an invalid matrix at all. Change-Id: Ie2a80810d76df0f0c39c3ae53adfdf52b06aafc1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* [QTransform] Get rid of dead code and bogus includesKonstantin Ritt2015-03-163-74/+41
| | | | | | | Also move some code around to simplify forthcoming patches. Change-Id: I300955af323baf97ab0f9a9e3a890013ad31814d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Review doc Qt3DNico Vertriest2015-03-169-33/+63
| | | | | | Task-number: QTBUG-44180 Change-Id: Ia5ce031397f9b03c5ba692aa30b6097dc60e59e3 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Prefer q_func() over direct access to q_ptrKonstantin Ritt2015-03-1612-24/+27
| | | | | | | | Similarly to d_ptr/d_func(), q_ptr should be accessed from the base class, whilst q_func() is a Qt'ish way to access it from subclasses. Change-Id: Iab2cf870f7b3f7d1aea89e827b52b8a7c958b907 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* [.*SceneParser] Minor clean-upKonstantin Ritt2015-03-166-48/+38
| | | | | Change-Id: I171a3e44383f2f5160b24113de6d92725ed19fe9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Nano-optimization to QUrlHelper::urlToLocalFileOrQrc(..)Konstantin Ritt2015-03-161-2/+3
| | | | | Change-Id: I8ae10d2eb13de9755fe0fb2683a2dfdd51cee674 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* [QFrameAllocator] Do not leak private dataKonstantin Ritt2015-03-161-1/+2
| | | | | Change-Id: Id50a6e7c95980edbc98f1f1b9d08d6175ceba517 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* [QAbstractAspectJobManager] Instantiate a respective Private in c-torKonstantin Ritt2015-03-161-1/+1
| | | | | Change-Id: Ifc608386b9af2660b6e11d21a323854b32c6196d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Do not update eye position if there's no cameraKonstantin Ritt2015-03-161-3/+1
| | | | | | | Sorting by depth wouldn't make sense in this case. Change-Id: I02ceef82970ead2a84170ffe4e559f2281408915 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Correct use of std::numeric_limits::maxThiago Macieira2015-03-121-1/+1
| | | | | | | | It requires #include <limits> and extra set of parentheses due to windows.h max() macro. Change-Id: Iee8cbc07c4434ce9b560ffff13ca7dd7c94a7af1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix MSVC warnings.Friedemann Kleint2015-03-124-5/+5
| | | | | | | | | | | | aspects\qabstractaspect.cpp(50) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data resources\qframeallocator.cpp(276) : warning C4267: 'argument' : conversion from 'size_t' to 'uint', possible loss of data resources\qframeallocator.cpp(284) : warning C4267: 'argument' : conversion from 'size_t' to 'uint', possible loss of data qchangearbiter.cpp(108) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data qt3d/src/render/backend/jobs/renderviewjobutils_p.h(64) : warning C4099: 'Qt3D::Render::ShaderUniform' : type name first seen using 'struct' now seen using 'class' Change-Id: I055f2021cbecf0765a811aedd87eb2cee97e6431 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* [QCamera] Minor refactoring & clean-upKonstantin Ritt2015-03-123-65/+27
| | | | | | | | This is a preparation step for dropping QLookAtTransform. Also get rid of unused viewVector and matrix properties. Change-Id: I48e2be2c63f8eb6f7fafc63ea470721ac14d14f9 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add another missing limits includev5.5.0-alpha1Laszlo Agocs2015-03-111-0/+2
| | | | | Change-Id: Ia11e7d53e95b2575f4ba9100c36a9d203979213a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Log the actual context formatLaszlo Agocs2015-03-111-1/+3
| | | | | | | | What we get may differ from what was requested. To ease debugging we must dump format() after create(). Change-Id: If6bc99096679b222f41283a229c42095a73846cf Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add new material QPerVertexColorMaterialLorenz2015-03-1114-2/+562
| | | | | | | | The new QPerVertexColorMaterial class provides color per vertex rendering. Change-Id: Idc87c21a07c2c8cd1ebfd5bed54c300c55e307ba Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix for ShaderDataPaul Lemire2015-03-094-7/+20
| | | | | | | | | Wasn't using the right index to retrieve the ShaderUniformBlock. Combined with the use of resize instead of reserve this lead to an unexpected behavior. Task-number: QTBUG-44874 Change-Id: If66554cf0ea133df33a72a63b256d80a4c4ce823 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Units test for RenderViewUtils and RenderViewPaul Lemire2015-03-093-9/+24
| | | | | | | | Mostly focused on ShaderData for now, RenderView unit tests will be completed over time. Change-Id: I279a49a294ff83d5ab5ec06c48e14796cf00b7b0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Nano optimization to GLTFParserKonstantin Ritt2015-03-041-3/+3
| | | | | | | | Do not load a identity matrix if we're going to initialize its values by hand. Change-Id: I7d745f4090a78ab4ecca99c313f15d689d32fc92 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Expose QComponent to QML as Component3D to avoid names clash with QuickKonstantin Ritt2015-03-041-1/+1
| | | | | Change-Id: I44d91eb99f4fbcd94a7f99cf70d1c66070c15a57 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderShader: Fix for absence of instance names in UBOPaul Lemire2015-02-282-7/+22
| | | | | | | | | | - Also added debug logging in RenderShader for the Shaders logging category - This restores the deferred-example rendering which was broken since 3abbf9227ada8f68821a5ad473bba4f52e625fb5 Change-Id: Ie1b39c903f8c33f7d9b859317ae185c42043a9e2 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Logging Category for ShadersPaul Lemire2015-02-282-0/+2
| | | | | | | | Will help have logs only related to shaders Change-Id: I74df08a247e0af075fa14dcf10596dc141a6eaa1 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>