summaryrefslogtreecommitdiffstats
path: root/src/render
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash on windowsSean Harmer2015-06-151-0/+3
| | | | | | | | | Q_DECLARE_METATYPE() is required, even for QObject subclass pointers, if you want to be able to call qMetaTypeId() for that type. Task-number: QTBUG-46661 Change-Id: Iaabf758f1d3b92569a463d2a5fb13389f086bd5c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Use Qt3DRenderer consistently for documentation configurationSean Harmer2015-06-115-56/+56
| | | | | | Change-Id: Ibea422bfe658c89dad919f98b7269bc801c9c295 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Use Qt3D.Renderer rather than RenderSean Harmer2015-06-1113-43/+43
| | | | | | | | | | | This should make the documentation and code terminology consistent throughout. We can rename the source directories at a later date if needed. Task-number: QTBUG-46622 Change-Id: I2737e54192341808f4a0270ad19ba70f6c4af589 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Make QAspectJobManager and base class privateSean Harmer2015-06-101-1/+1
| | | | | | | | Prevents leaking of private headers and allows use of QT3DCORE_PRIVATE_EXPORT for use with the job manager unit test. Change-Id: I7f0c2b2e27e88eee6cb686f5ae55c78b73ea27d3 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove unnecessary metatype declarationsSean Harmer2015-06-0812-24/+0
| | | | | | Task-number: QTBUG-46539 Change-Id: I0e9e2d405da2fa5ecc2fc8b8efece6f7364e1b39 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix compilation on OS X 10.8Sean Harmer2015-06-051-0/+5
| | | | | | | Task-number: QTBUG-46143 Change-Id: I1ebf37c5f78f4532749d7b432bca367c51d7efdd Reviewed-by: Tim Blechmann <tim@klingt.org> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Doc: Add Qt3D QML and C++ skeleton comments for qdocMartin Smith2015-05-2813-65/+663
| | | | | | | | | | | | | | Add documentation structure and qdoc comments for \class, \qmltype, \property, and \qmlproperty, etc, for the Qt3DRender C++ and QML modules. The actual documentation (descriptions) are still missing, but this allows the QML type documentation to be generated and reduces the qdoc error count. Change-Id: I9e96241f07ca2388f1a8cc2a3677fa6d02a2404d Task-number: QTBUG-46037 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Properly initialize q_ptr (or avoid where it is not needed)Konstantin Ritt2015-05-206-20/+12
| | | | | | | Referencing a partially-constructed object is typically a bad design. Change-Id: I48ef92452202f6c8c0014e17efd20e2ee2ae7e40 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Do not pass `this` to Private c-torKonstantin Ritt2015-05-20110-249/+248
| | | | | | | For classes derived from QNodePrivate, it is not used anymore. Change-Id: I9573042500c2c7533687d251e72bac14cb793525 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Do not initialize q_ptr in classes derived from QObjectPrivateKonstantin Ritt2015-05-204-14/+10
| | | | | | | QObject does that behind the scenes, in a proper way. Change-Id: I92561060757d36358d1e507f4335ca605f681678 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove FBO complete debugPaul Lemire2015-05-171-1/+0
| | | | | | Change-Id: Ie3fc342e4901202a611ffaa4fd263a1387b908f5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Massimo Callegari <massimocallegari@yahoo.it>
* Allow to have different clearColor per RenderViewPaul Lemire2015-05-153-4/+18
| | | | | | | | | Previously the clearColor was the same for the whole frame using the first RenderView's clear color. In some cases (FBO rendering) we may want the renderer to set/update the clear color between RenderViews. Change-Id: I85318d10a8ae0b03a8e5576ec39e15b14f1bc21d Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* RenderTexture: handle the unique flag and append the node id to the dna whenPaul Lemire2015-05-152-2/+13
| | | | | | | set to true which makes the texture unique Change-Id: I4d7249b3021d95b31a5b93f086bc3aab54fe82da Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* QAbstractTextureProvider add unique propertyPaul Lemire2015-05-153-3/+52
| | | | | | | | | Will allow to disable texture sharing in the backend when needed, defaults to false Change-Id: If3a75c7763db6eb479319d5c0b9356b164e0f163 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Unit tests for RenderMeshPaul Lemire2015-05-142-1/+4
| | | | | | | Set enabled to true by default on a RenderMesh Change-Id: I269505ab74f05fa81dae5eceef4c0afe24f10031 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix some small typosUnai IRIGOYEN2015-05-141-1/+1
| | | | | | | | | | | Fix a typo in QPhongMaterial class which caused setting ambient value to shininess parameter. Fix a typo in ES2 version of pervertexcolor fragment shader. Change-Id: I4623905a800ad310f19eb95d7391faaf70e9dd2b Task-number: QTBUG-44907 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Unit tests for RenderMaterialPaul Lemire2015-05-132-1/+2
| | | | | | | | | Properly initialize the enabled flag in RenderMaterial and use Q_AUTOTEST_EXPORT to make it available to the unit tests Change-Id: Ie38169815f920f828effe03b52f6f32c85030523 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Port from Q_ENUMS to new macro Q_ENUM.Friedemann Kleint2015-05-1319-30/+29
| | | | | | | | | Remove Q_ENUMS in favor of the new Q_ENUM macro which provides registration as meta enum and a debug stream operator. Change-Id: I39c61af189daebe2bf0c7474202da9f6110441c5 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Renderer: properly merge global stateset with per renderpass statesetPaul Lemire2015-05-124-5/+19
| | | | | | | | | When a RenderPass stateset overriddes the global stateset set by the current FrameGraph branch at render time, this is done by merging the global stateset with the RenderPass defined stateset. Change-Id: I07baca0d50b1c02cf1298b382039aedabd6084cc Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QCameraLens: allow specify projection with frustrumPaul Lemire2015-05-121-1/+1
| | | | | | | Also added doc Change-Id: I45d077910dc8ac3d8cd06cf6835eb41be2ae5fe3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QFrameGraph: small fixPaul Lemire2015-05-121-5/+2
| | | | | | | | | Check if the FrameGraph root node has a parent, if not set it to trigger a NodeCreated notification. Then set it as the current activeFrameGraph. Change-Id: Ife652391bc8520b42d35a8469b55bf067e1e08a2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QSkyboxEntity default addedPaul Lemire2015-05-104-2/+467
| | | | | | | C++ equivalent of SkyboxEntity Change-Id: I560b6f5f19660370fb9f3e3edfb596879cf17382 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add SkyboxEntity as a QML defaultPaul Lemire2015-05-105-0/+48
| | | | | | | Cpp classes to follow Change-Id: If2479917aa516cf5da37111ae6a5886a8e24e9e7 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QViewport: set rect to 0,0,1,1 by defaultPaul Lemire2015-05-101-2/+3
| | | | | Change-Id: I1a1098ab45d118a01001a8d86e9de8326ecae76f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* FrameGraph: allow the FrameGraph tree to contain any kind of NodesPaul Lemire2015-05-103-37/+15
| | | | | Change-Id: Ib5a6ea27610dfad3352adacd57c8f0f02c97f31f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix: Allow StateSet to not contain any Qt3D::QRenderStatePaul Lemire2015-05-104-6/+31
| | | | | | | | | This offers a way to explicitly request every render states to be disabled. Also updated the doc to be clear about how render states are defined. Change-Id: I91af58dd3ede7ffd7fc9cc022c5e007104791151 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Qt3D.Render.RenderStates logging category used to monitor RenderState changesPaul Lemire2015-05-103-1/+7
| | | | | Change-Id: I04222a255c4c1872d2e9dae883d51bdb40e0ff02 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderShader: protect fragOutput hash with mutexPaul Lemire2015-05-102-7/+26
| | | | | | | | Also recompute the shader dna when the fragOutput changes and use those to as part of the dna as well. Change-Id: I800d9554142d108f74a8123ef9b0ace5038d3e4c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Renderer: glDrawBuffers using QRenderTargetSelector drawBufferPaul Lemire2015-05-106-7/+49
| | | | | Change-Id: I760401c7749ca97801e2254cda6b306b1748e10d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRenderTargetSelector: takes list of active drawBuffersPaul Lemire2015-05-106-1/+55
| | | | | Change-Id: I63ea3ddcd16034b4fb2d75cb8d5a90e7f557fd5e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Added QBlendStateSeparate render statePaul Lemire2015-05-096-9/+55
| | | | | Change-Id: Ifd7254c9a60df3043029229a568de72c0dd4e9fb Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderView: lookup RenderPassFilter/TechniqueFilter ParametersPaul Lemire2015-05-093-21/+37
| | | | | | | | | These will override the Parameters defined in Material/Effect/Technique/RenderPass with RenderPassFilter having a higher priority than TechniqueFilter. Change-Id: I39e31b989ea2a752d4bab7b4023c6e0a0167e75d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QTechniqueFilter: add/remove QParameterPaul Lemire2015-05-095-0/+65
| | | | | Change-Id: Ia198b01555bbeeaecc7062dbdd05275b49b43b62 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRenderPassFilter: add/remove QParameterPaul Lemire2015-05-095-1/+65
| | | | | Change-Id: I1862723b56ab99ad286c70955c5d21eb1800a52d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderViewJobs: process local Parameters per RenderPassPaul Lemire2015-05-093-5/+22
| | | | | Change-Id: I78a3625a9f195150e224a1f03ef35999af572300 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRenderPass: add/remove ParametersPaul Lemire2015-05-095-12/+70
| | | | | Change-Id: Ibccaa97c9cd1d9e8229ea59228ef2535b23b64b7 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix typo in QPhongMaterialPaul Lemire2015-05-091-1/+1
| | | | | | Change-Id: I46c2e8a8be187c0c296c3ad0d7e7148e2cd1406c Task-number: QTBUG-44907 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>
* 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>
* 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>
* Doc: Fix multiple C++ documentation issuesTopi Reinio2015-04-1453-362/+545
| | | | | | | | | | | | | | | | | | | - 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>