summaryrefslogtreecommitdiffstats
path: root/src/render/backend/qrenderaspect.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move QRenderAspect to frontend directorySean Harmer2015-10-131-406/+0
| | | | | Change-Id: Icedb10a8ad0046c5e091c364c4537549c6d53b9f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderTransform -> TransformSean Harmer2015-10-131-1/+1
| | | | | Change-Id: Ide8d0d0831755b0eb5f8f724c2e7c0ed838e4b9d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderTextureImage -> TextureImageSean Harmer2015-10-131-2/+2
| | | | | Change-Id: I12c00abc1a539b8ec8a2cbac00283b55216884ac Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderTexture -> TextureSean Harmer2015-10-131-1/+1
| | | | | Change-Id: I083461d12e3398c10c6a41de54c3b588ecaf07fa Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderTechnique -> TechniqueSean Harmer2015-10-131-1/+1
| | | | | Change-Id: I619637b27ae2c261b5f86193757ba45b971fed93 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderShader -> ShaderSean Harmer2015-10-131-1/+1
| | | | | Change-Id: Iafdfc44bdc97c53974a2d47834a61914be06ac25 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderShaderData -> ShaderDataSean Harmer2015-10-131-1/+1
| | | | | Change-Id: I254f2205cd1587bb599d26a087c515d526bf289b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderrenderPass -> RenderPassSean Harmer2015-10-131-1/+1
| | | | | Change-Id: Ia7eeddb8a114eef1ba3c0d2bfae7ecc8d2fcf8d1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderParameter -> ParameterSean Harmer2015-10-131-1/+1
| | | | | Change-Id: I77367f67c522d5a5bb55423501406a5f7e108b95 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderNodeFunctor -> NodeFunctorSean Harmer2015-10-131-16/+16
| | | | | Change-Id: Ic9d874b8fafdd3a16d725341a3cfecc0bfcb934b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderMaterial -> MaterialSean Harmer2015-10-131-1/+1
| | | | | Change-Id: I4fed4482fe3620caed638f36a054db374a8e8942 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderLayer -> LayerSean Harmer2015-10-131-1/+1
| | | | | Change-Id: I3da5588470de57b5ed144f60b9e28a74f96d164f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderGeometryRenderer to GeometryRendererSean Harmer2015-10-131-2/+2
| | | | | Change-Id: I6e6352de622a7b18eaa5f1f89d15a1d90dd68329 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderGeometry -> GeometrySean Harmer2015-10-131-2/+2
| | | | | Change-Id: I3e7750c2f2388cd14ece6a339beafd13f31e018f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderEntity -> EntitySean Harmer2015-10-131-1/+1
| | | | | Change-Id: Ifb5f3882e9bd584536321dde97eac2c471528f27 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderEffect -> EffectSean Harmer2015-10-131-1/+1
| | | | | Change-Id: I0c30308a609c3530119c99fe99c47782bde0c444 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderCameraLens -> CameraLensSean Harmer2015-10-131-1/+1
| | | | | Change-Id: I58e4422c265ddf7a32c0615b378c8017fe0a3461 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename RenderBuffer -> BufferSean Harmer2015-10-131-2/+2
| | | | | Change-Id: I4e230c2d2e0cf12a26a0c869554ec9bcb7a1ccf0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* RenderAttribute -> AttributeSean Harmer2015-10-131-2/+2
| | | | | Change-Id: I459cd73f92931002c69d5f8fa8c19880e9149d25 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* RenderAnnotation -> AnnotationSean Harmer2015-10-131-2/+2
| | | | | Change-Id: Iccf052b78a74ba03658630e061d2fa335c280dc6 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move Render aspect into the Qt3DRender namespaceSean Harmer2015-10-131-14/+16
| | | | | | | Updated examples and tests accordingly. Change-Id: I8848a88472de2302aa072fa11f21ea934672b7e6 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Cleanup: remove QAbstractMesh/QMeshData/MeshDataManagerPaul Lemire2015-08-111-11/+0
| | | | | Change-Id: I1f13cea4cf864dcf985d1f487e195509de9006e7 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove unused member variableSean Harmer2015-08-101-1/+1
| | | | | | | Silences a warning from clang Change-Id: I6dd2ac84538910d87e23f08499cab16774c4b6a0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderGeometryRenderer/GeometryFunctor: everything is now hooked upPaul Lemire2015-08-071-0/+3
| | | | | Change-Id: I70bcd536ef7d4fbeb3b5ad8a9593af7bd984a0af Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderMesh removed, replaced by RenderGeometryRendererPaul Lemire2015-08-071-2/+0
| | | | | Change-Id: If049768730a0f3aad3ea2b4f5cda2808f4035726 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* RenderGeometryRenderer: dedicated creation functorPaul Lemire2015-08-071-1/+1
| | | | | | | | | Needed in order to make the RenderGeometryRenderer aware of its manager. That way the geometry renderer will be able to queue up functors whenever a geometry functor changes Change-Id: Ib08bf4c2502bfd4199488681b462207f0ee9b289 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move GeometryRenderManager to its own filePaul Lemire2015-08-071-0/+1
| | | | | | | This is needed to add logic for geometry functors that needs to be loaded. Change-Id: I06e59447c41ea8e08cfdb77fc94084837afebeac Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Rework Renderer to use BufferFunctorPaul Lemire2015-08-071-2/+2
| | | | | | | | | | | | | | | Each buffer when it receives a new functor adds itself with the buffer manager. This then allows to build LoadBufferJob instances for each buffer to be loaded. The buffers can then be loaded before a frame is rendered. The GeometryRendererManager has been moved back with other managers and the BufferManager takes its place to handle the additional management of dirty buffers. Renderer updated accordingly. Change-Id: I5df839b56d18de077e1ff2921cb481ed8f613567 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QRenderAspect: request buffer jobsPaul Lemire2015-08-071-0/+4
| | | | | Change-Id: I52b659fef8bc3ebc1693b2dfe36eb9b998a30621 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* RenderGeometryRenderer using dedicated functorPaul Lemire2015-08-071-1/+1
| | | | | | | | | Needed in order to make the RenderGeometryRenderer aware of its manager. This way it will be later able to add itself to the manager when set to dirty in order to be processed by some aspect jobs. Change-Id: Id7778e30286e9a0f14150e5b2c43a675b2372154 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QRendererAspect: register creator functor for buffer API nodesPaul Lemire2015-08-071-0/+12
| | | | | Change-Id: I3b7668f5e2c3fa74668e2bbbdea360a358d56aa4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add onStartup() and onShutdown() virtuals to QAbstractAspectSean Harmer2015-08-061-0/+8
| | | | | | | | | | | | | Gives aspects a chance to do work just prior to and just after the main loop in QAspectManager. Specifically the shutdown functionality is required for the upcoming logic aspect to ensure a clean shutdown. Added the onStartup() method for symmetry. Change-Id: If5f32d62629543cdceb2e6e3ff6383747acb7c99 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Properly shutdown the rendererPaul Lemire2015-07-061-4/+5
| | | | | | | | | | | | | Now all pure Qt3D examples have a 0 exit code. Still need some work for QtQuick/Scene3D examples. The problem being that we hit the QOpenGLDebugger issue since we are unable to shutdown properly the Qt3D renderer because Scene3D being a QQuickItem is destroyed before the QQuickWindow and we never have a chance to receive the sceneGraphInvalidated signal. Change-Id: I1d30e0d883057630a55cd3f99eaa6bdb65a8df26 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Renderer refactored to only process jobs for the current framePaul Lemire2015-06-291-4/+6
| | | | | | | | | - get rid of the RenderQueues - properly synchronize the RenderQueue/Allocators - unit tests updated Change-Id: I71c0321c888765c674cbe5fda5ececfa11b06995 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Make the AspectManager loop use the Renderer's VSyncFrameAdvanceServicePaul Lemire2015-06-271-1/+8
| | | | | | | The next step is removing the RenderQueues which are of no use anymore Change-Id: Ia334bb3a1ab8cb1ecab16419a42442658df8d8c4 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNode parent changesPaul Lemire2015-06-111-2/+2
| | | | | | | | | | | | | | | - introduce QNode::setParent(QNode *) - QNode created with explicit parent now invoke QNodePrivate::_q_addChild - QNode::cleanup introduces, need to be added to the dtor of every QT3D_CLONABLE QNode subclass. Handles proper destruction. - QNode::cleanup added to all classes that should have it. - Updated unit tests of Nodes, Entity, Scene Change-Id: Id2c2784122a78edaae5580fe5976d88be5a1921c Task-number: QTBUG-45947 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Do not initialize q_ptr in classes derived from QObjectPrivateKonstantin Ritt2015-05-201-4/+4
| | | | | | | QObject does that behind the scenes, in a proper way. Change-Id: I92561060757d36358d1e507f4335ca605f681678 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>
* Renderer: apply per RenderView global RenderStatePaul Lemire2015-04-251-0/+3
| | | | | | | | | | | 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>
* Doc: Fix multiple C++ documentation issuesTopi Reinio2015-04-141-0/+5
| | | | | | | | | | | | | | | | | | | - 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>
* Copyright header change.Mika Salmela2015-02-091-19/+14
| | | | | | | | As for preparation for Qt5.5 release the copyright header is updated to correspond the current license requirements. Change-Id: I36632918b66f455539453b42c369689fb11298ec Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Texture API refactoringPaul Lemire2015-02-081-2/+10
| | | | | | | | | | * Added LoadTextureDataJob * QAbstractTextureProvider: maximum layers property * Automatic QAbstractTextureProvider::TextureFormat added * material-qml should work perfectly with that patch. Change-Id: I3f92f13b783155798772086304a30126a4fc687d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderTexture: update list of texture image id to texture image handlesPaul Lemire2015-02-081-1/+1
| | | | | | | | | | | | | That required a custom backend functor creator. QRenderAspect was updated to use the correct functor. This will provide faster lookups. Also introduced TextureDNA. The goal is to build a unique key based on the texture properties and each texture image (including layer position, mipmaplevel and cubemapface). Then when applying a texture it will just be a matter of comparing hashes. Change-Id: Ic07aea6bc1cbcb1059ec5bcdd458ccc51e1feda9 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Register backend functor creator for RenderTextureImagePaul Lemire2015-02-081-0/+2
| | | | | Change-Id: I1c32e555a7033e451af4c994f7b6f22556543c9a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* No need to depend on managers from RenderParameterKevin Ottens2015-02-081-1/+1
| | | | | | | | This way we can also get rid of the specific functor, the generic one is enough again. That's possible thanks to createBackendNode availability. Change-Id: I6ef4dc811c4304f1cf551200e1cedd9a81a53f43 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QTexture renamed to QAbstractTextureProviderPaul Lemire2015-02-081-1/+1
| | | | | | | | | | This is done prior to the whole texture API refactoring. Doc was also added, might need improvement later on but a base is present at least. Change-Id: I75589f14dfbfba7bc4250b2e0960670e020ed38a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Provide our own RenderParameterFunctorKevin Ottens2015-02-031-1/+1
| | | | | | | | | | | | It is necessary in order to have a pointer to the renderer. It will be needed to map from QTexture and QSharedData to RenderTexture and RenderSharedData. Note it makes us loose RenderParameter testability as it depends on the Renderer (and later on managers). Change-Id: I5559a2396588978406aac6b6ee27a33054ab0f79 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Allow to properly shutdown in sync modeKevin Ottens2015-01-281-1/+9
| | | | | Change-Id: I9789896b29a6d5ec29ef6ec925f09223f4312169 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Register backend functor creator for QFrameGraphSelectorPaul Lemire2015-01-261-0/+2
| | | | | Change-Id: I8491eb25c0e7a8d3c060d6293a134ab386bd0108 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Register all the standard aspects to the factoryKevin Ottens2015-01-251-0/+3
| | | | | Change-Id: I6e0f743bc12f91c4bdbacba1cfe4f670dfb7ea5b Reviewed-by: Paul Lemire <paul.lemire@kdab.com>