summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* QBlendState: Target particular Draw Buffers (glBlendFunci())Wieland Hagen2016-01-156-40/+130
| | | | | | | | | | | | | | | | | There are 3 ways blending can be configured, depending on GL version: pre-3.0: Globally 3.0-3.3: Individual GL_BLEND for each Draw Buffer, one glBlendFunc 4.0- : Individual GL_BLEND and glBlendFunci for each DrawBuffer QBlendStates now allow to specify whether the blend state should be enabled or not, and what Draw Buffer it is specifying. Defaults are global and enabled. Removed backend BlendStateSeparate, BlendState is going to handle both calls. Task-number: QTBUG-50005 Change-Id: I0059a53db0d629ef9818d933c3f14e5662c1d3df Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add GraphicsContext::supportsDrawBuffersBlend()Wieland Hagen2016-01-144-2/+9
| | | | | | | | | To check for availability of ARB_draw_buffers_blend Task-number: QTBUG-50005 Change-Id: I8f4e11ff401a9e1e3751f61421572cb1fc323979 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Added glEnablei, glDisablei, glBlendFuncSeparateiWieland Hagen2016-01-1413-1/+144
| | | | | | | | | | Added glEnablei, glDisablei, glBlendFuncSeparate to GraphicsHelpers and GraphicsContext Task-number: QTBUG-50005 Change-Id: I01c3a6e26fde9756d62694235ba0c1a0fe5155ae Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fixed RenderView Uniform setting for QNode valuesWieland Hagen2016-01-141-2/+2
| | | | | Change-Id: I3aac90e19019345892e08a2994ee04667a7058dc Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* instanced examples: Add proper annotations to techniquePaul Lemire2016-01-142-0/+2
| | | | | | | | This wasn't needed before because the TechniqueFiltering was broken. This is now needed to respect the intended behavior. Change-Id: I4f28e9757a6e726ab45a7806a74b34553e700aea Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add a compute shader examplePaul Lemire2016-01-1411-1/+719
| | | | | Change-Id: I956b647e2218ad3e604bd9e8260b3ea0a90dc84e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Use a more suitable name for qt3d input devices.BogDan Vatra2016-01-142-1/+2
| | | | | | | Export proper MODULE_PLUGIN_TYPES Change-Id: Id1b51aafd318b1c0800cc194e006e5585d8c159d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix missing QML registration for AbstractActionInputColin Ogilvie2016-01-141-0/+1
| | | | | Change-Id: I1796b543ba4f2868c842540718da73a9b0e94e64 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Renderer: handle compute and draw render commandsPaul Lemire2016-01-134-138/+161
| | | | | Change-Id: I629dff26ce02fad1deaea8557d09a52e6d672ad7 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Technique: cleanup properly clears thingsPaul Lemire2016-01-131-0/+3
| | | | | Change-Id: Idbe854bdea0dca784fd1ac40cb34560bd7c22862 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* RenderViewJobUtils: fix technique filter wasn't setPaul Lemire2016-01-131-1/+1
| | | | | Change-Id: Iaf54b8c2e201b728b7f1313ba98d9a8e93a107e8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* GraphicsHelper: add dispatch compute functionPaul Lemire2016-01-1313-3/+53
| | | | | Change-Id: I3c2614f0fc484d6f492d9302a3ec9335e827f741 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* RenderCommand: add a type flag (Draw/Compute)Paul Lemire2016-01-132-0/+8
| | | | | Change-Id: I5c194c73bd2e4db8895557bf5f69682420841b19 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* RenderView/GraphicsContext: support SSBO/UBO with buffer used as ParametersPaul Lemire2016-01-1323-117/+233
| | | | | Change-Id: I347aa5deea6521b43b9033e2200ab2f8b272f671 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename QUniformPack to ShaderParameterPackPaul Lemire2016-01-1310-21/+21
| | | | | | | | This will make it more clear that it also contains other things like UBO/SSBO which are pure Uniform values. Change-Id: I641246798b8c868d7bfdfde381221d9a97ed2d35 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* GraphicsContext: use GLBuffer instead of QOpenGLBufferPaul Lemire2016-01-136-133/+162
| | | | | | | | This will be needed to simplify the process of binding SSBO/UBO buffers. Change-Id: Ice3bb97381328c5bddf1c9e46af30b4814ff2572 Note: ShaderData UBO handling temporarly disabled. Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Add handle type for GLBufferPaul Lemire2016-01-131-0/+2
| | | | | Change-Id: I000b8c22a566639a622563a56edef87c1256c9c8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QBackendNode make simple getter Q_DECL_NOEXCEPTPaul Lemire2016-01-132-4/+4
| | | | | Change-Id: If99dd5082d8a45b7c06fa585c69cd378d470247a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Updated Entity unit testsPaul Lemire2016-01-131-1/+10
| | | | | Change-Id: I4de1a5662b50781e06bcfc8474c895e77cbd8851 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* RenderView: completed Compute code pathPaul Lemire2016-01-131-10/+26
| | | | | Change-Id: I7fb4569bfcb7b9a0427dbaa67edcf7e005bb5762 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Entity: add reference to QComputeJob componentPaul Lemire2016-01-132-0/+31
| | | | | Change-Id: I1a99115b78478ec143a83a2f768a7249d9038ac0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QRenderAspect: register backend type for QComputeJobPaul Lemire2016-01-131-0/+3
| | | | | Change-Id: Id7124395233757cd62de0f1c9153f348603ed980 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* RenderView: sliglty modified to later accommodate compute callsPaul Lemire2016-01-137-115/+155
| | | | | Change-Id: Ic821747677c9d2f117494d2ecfd89f47f982fa3f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QParameter: only copy QNodeId when parameter value is a QNodeSubclassPaul Lemire2016-01-135-58/+39
| | | | | | | | | | | | | This avoid doing useless clones and will be further improved to support UBO/SSBO when Buffer are used as a Parameter's value. QNode subclasses that can be used as the value of an attribute are: QAbstractTextureProvider -> default uniform block QShaderData -> UBO (could be made to work with SSBO as well) Buffer -> UBO / SSBO Change-Id: I4928b95107656afc64db1ef989dde5dde8a92df8 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Port all the pure C++ examples to Qt3DRender::QWindowKevin Ottens2016-01-139-116/+46
| | | | | Change-Id: I43b4a5fcfb4ec00ccaec013cb31d00ca92d3c224 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* show() is not virtual in QWindowKevin Ottens2016-01-133-19/+24
| | | | | | | | | | | | It's better to know if we're shown using showEvent() which is virtual than show() which isn't. By reimplementing the non-virtual show we break all uses going through a QWindow* and not a Qt3DRender::QWindow*. This is necessary for instance to get Qt3DRender::QWindow compatible with QWindowContainer (which calls ::QWindow::show()). Change-Id: I7ae367bbb7d539ba6caf336893d5d8ce53421d5d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* ComputeJobManager addedPaul Lemire2016-01-134-0/+29
| | | | | Change-Id: Ia3d1c209ea06ce6a6fd3aa87f4034d3eeaeffdda Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QComputeJob exported to QMLPaul Lemire2016-01-131-0/+4
| | | | | Change-Id: Ibc8ac6d59f8ed85b588cae1f2f92e8d37a342954 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* ComputeJob: backend for QComputeJobPaul Lemire2016-01-133-2/+157
| | | | | Change-Id: I13fb35d0e6d31275463034c3e4bdd92c3f528a4e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QComputeJob component addedPaul Lemire2016-01-134-2/+220
| | | | | Change-Id: Iac662f21ca399c6998cff37eeac1f165b34a9c28 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderView Compute handlingPaul Lemire2016-01-134-15/+39
| | | | | Change-Id: Ifbe93173010bf058f198990c62d5e93fea967a74 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* GLBuffer: modified to be used as a generic GL bufferPaul Lemire2016-01-133-9/+50
| | | | | Change-Id: I6e3b763864587ac4b12f6a458f84d3642f20b32c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Rename UniformBuffer to GLBufferPaul Lemire2016-01-1310-35/+35
| | | | | | | | This class could be reused for any kind of GLBuffer (not just uniform buffer) so rename it accordingly. Change-Id: I978696534f64fc3717ac135af94e9fe44aa23fba Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Shaders: retrieve SSBO blockPaul Lemire2016-01-1316-42/+221
| | | | | Change-Id: I62065d30b197367c8e5e03099c3af034892c4038 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Added front end classes as a start to support aggregate actionsColin Ogilvie2016-01-128-2/+533
| | | | | Change-Id: Ic852ccf3994bb8604924687165bb49cb1dec3077 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Start at implementing QAbstractAction InputColin Ogilvie2016-01-1210-32/+151
| | | | | Change-Id: I392dd326cb0bf1b8c12b72d8554a866156d43e76 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Camera moved - scene3d-loaderRobert Brock2016-01-121-1/+1
| | | | | | | | From: z: -20 to z: 20 Change-Id: Ifbae72c295f04875499b09c3609c4a8e8e7e2f33 Task-number: QTBUG-49800 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Camera moved - controlsRobert Brock2016-01-122-4045/+4072
| | | | | | | | | | From : -12 / -4 to 4 / 12. Obj file updated and rotated 90deg on the X axis. Rotation sliders for x, y and z corrected to all start on 0. Change-Id: I43850a421029d1aef8f2f65526ce507ab22fef2b Task-number: QTBUG-49800 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Merge branch '5.6' into devSean Harmer2016-01-1240-357/+626
|\ | | | | | | Change-Id: I6780d81672de7c81c9085bddbe481e689ca25132
| * Android: handle image from assetsBogDan Vatra2016-01-111-1/+5
| | | | | | | | | | | | Task-number: QTBUG-46866 Change-Id: I0f7f8bcb3afe528e9a00270025ed42e950221800 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix crash when Scene3DItem is removed from sceneMauro Persano2016-01-112-32/+34
| | | | | | | | | | | | | | | | | | | | | | | | Under certain situations the windowChanged signal was being triggered after the Scene3DItem was already removed from the scene, causing a crash in Scene3DRenderer::render(). Use itemChange() instead to check when the item is removed instead of the windowChanged signal. Change-Id: Ia635081eca213c8d6e3bd4a59aafaa3dcc86d7e3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Disable the qgltf example to keep the CI runningLaszlo Agocs2016-01-111-1/+3
| | | | | | | | | | Change-Id: Ic8383e39f368e293d5d97fe7bb78b435538249af Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix race on QAspectManager shutdownMauro Persano2016-01-082-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When QAspectManager::quit() is called, the exec() loop finishes. Then QAspectThread calls shutdown() and deletes the QAspectManager instance. However, in certain cases, the QAspectManager object can be deleted before QAspectThread::quit() has a chance to finish running, causing a crash when it tries to acquire the m_waitForEndOfExec semaphore. Make exec() wait for quit() to prevent this. Change-Id: I579e3e6b5684984ec32497852d94cc050cccbef5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Replace QTextStream with QString::splitRefMauro Persano2016-01-071-38/+52
| | | | | | | | | | Change-Id: I0a540dfdcbe5f28df38cf406c771c828e25abd64 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Use QFuture::waitForFinished directly.Volker Krause2016-01-071-7/+2
| | | | | | | | | | | | | | | | | | | | QFutureWatcher::waitForFinished calls the same internally, but adds additional overhead we don't need here. Saves a couple of allocations per frame. Change-Id: I616a527068fd1c55238ca88b2fc753b423116e32 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Avoid unnecessary detaching.Volker Krause2016-01-072-4/+4
| | | | | | | | | | Change-Id: Ied910d38c400b34a38f6eaea9683107b079513ec Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Fix RenderViewJob crash on Renderer shutdownMauro Persano2016-01-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Set Renderer::m_running to zero to prevent crashes when Renderer::shutdown is called while a RenderViewJob is running. This only affects QtQuick/Scene3D. It's not a problem in the case of pure Qt3D, as Renderer::m_running is set to zero when Renderer::setSurface(0) is called before Renderer::shutdown. Change-Id: I41f8da7589c098c6df9d24792932a293df7982aa Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Add glBlendFunci() to GraphicsContext + GraphicsHelperWieland Hagen2016-01-0713-0/+53
| | | | | | | | | | | | | | | | Only for OpenGL 4.0. Task-number: QTBUG-50005 Change-Id: I70984a2bff3afc04539efa7dea60196aa06e72d2 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Sort GraphicsContext + GraphicsHelper methodsWieland Hagen2016-01-077-210/+211
| | | | | | | | | | | | | | They were a big mess, now they are a smaller mess. Change-Id: I4e21e340a24588370cf8b17b54ebb9e03fe07b4a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * qgltf: Do not output the unused, dummy light blockLaszlo Agocs2016-01-071-10/+0
| | | | | | | | | | Change-Id: Ie6de66a4150a1ebc8a4a6b555618282b7e756658 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>