summaryrefslogtreecommitdiffstats
path: root/src/quick3d/imports/render/qt3dquick3drenderplugin.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* QComputeJob exported to QMLPaul Lemire2016-01-131-0/+4
| | | | | Change-Id: Ibc8ac6d59f8ed85b588cae1f2f92e8d37a342954 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Added QPointSize RenderStateWieland Hagen2015-12-271-0/+2
| | | | | | | | | Point Sizes may be specified 2 ways: either statically via glPointSize() (OpenGL 2.0+) or by enabling GL_PROGRAM_POINT_SIZE. Task-number: QTBUG-49997 Change-Id: I98887484cf31df01b98801e1f324487ee7bf7492 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Expose QDispatchCompute to QMLPaul Lemire2015-12-071-0/+2
| | | | | Change-Id: Ic5e89455c97ce69f7bfca970f4e4884d09010ecb Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move core/io content to render/geometry and ioKevin Ottens2015-12-021-2/+2
| | | | | Change-Id: I79e0b0d62e07a269ebfce99edff56d30da28494c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add a framegraph node for lightingLaszlo Agocs2015-11-261-0/+2
| | | | | | | Empty for now. Change-Id: I4edcdae58230e53c266c214052522d3ab54b1c6c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Lights phase 1: infrastructureLaszlo Agocs2015-11-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | QAbstractLight becomes QLight and gets its own backend node. This way we can easily gather all lights for the scene and filter them when building render commands. Both the frontend and backend remain a subclass of (Q)ShaderData but will not be part of the ordinary ShaderData component list. This prevents mixing up ShaderDatas and Lights but allows reusing the same underlying infrastructure so that properties can automatically be transformed for example. It is worth noting that the position property for lights is now removed: the position is determined by the entity's (to which the light component belongs) position. A number of changes are made to ShaderData itself as backend subclassing with different managers is not straightforward. For now the distance between the rendered entity and the entity with the light component is calculated and lights will be chosen based on this distance. A framegraph node for controlling this will be added in future patches. No uniform setting or shader changes are included here. Task-number: QTBUG-48834 Change-Id: I43a6c5f9420d4254d798c558bd58680b2b09eceb Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Register QFrustumCulling to QMLPaul Lemire2015-11-241-0/+2
| | | | | Change-Id: If63b35a24b05a8279edfff48c893fce5a37d63de Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Register QBoundingVolumeDebug to QMLPaul Lemire2015-11-161-0/+4
| | | | | | Change-Id: I6f0a1740696b19198a36a889582c1d857189196c Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Register QBoundingVolumeSpecifier to QMLPaul Lemire2015-11-161-0/+2
| | | | | | Change-Id: I8cc83b725c9ce8abca542da2e2ee2aac662ea56b Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Header naming fixed for quick3d partsTomi Korpipää2015-11-041-18/+18
| | | | | | | Change-Id: Ifd7823af9ffe5761b4863d559c9321207fb62998 Task-number: QTBUG-49138 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* Rename QOpenGLFilter to QGraphicsApiFilterAndy Nichols2015-11-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | This API change is part of an effort to remove anything specific to one graphics API (in this case OpenGL) from the public APIs. In addition to the name of the class being changed, the QGraphicsApiFilter::Api has been refactored to reference the Graphics API, rather than an OpenGL API. Now this list includes OpenGL, and OpenGLES, but could also include Vulkan, DirectX, or any other graphics rendering API we wish to support in the future. Right now the properties in this class are still reflective of the OpenGL APIs, and may need to be extended with other properties in the future for other rendering technologies. The QGraphicsApiFilter::Profile enum has also been changed to be more more clear. So for now there are enums NoProfile, CoreProfile, and CompatibilityProfile. Task-number:QTBUG-49078 Change-Id: Ib5f9c3b7adee5badec6bce8a12b23683eb43b4cb Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Remove unused class Qt3DRender::Render::Quick::ShaderPropertyParserAndy Nichols2015-10-301-2/+0
| | | | | Change-Id: I9bcaa70df8d79ad32abd22941eb03f282ef87175 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Quick3D : complete Renderer -> Render renamePaul Lemire2015-10-241-28/+28
| | | | | Change-Id: Ie999762329cc2ff104619916c1ae02f0458ccdca Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Quick3D: register QObjectPickerPaul Lemire2015-10-241-0/+4
| | | | | Change-Id: Ib8c4f39f36e61c1ee16c03ebb1e4a43b7b2a1230 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Rename Renderer -> Render throughoutSean Harmer2015-10-191-0/+290
| | | | | | | | This is for consistency between the C++ namespaces and QML imports and with the other aspects. Change-Id: I73392f138b4e519b12888f52530123e3d0ba445e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Use Qt3D.Renderer rather than RenderSean Harmer2015-06-111-253/+0
| | | | | | | | | | | 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>
* Register TextureRectangle and TextureBuffer to QMLPaul Lemire2015-05-151-0/+2
| | | | | Change-Id: I68d16f2f0c5b967f75c3d150a5bd0ff5758896cd Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* Add SkyboxEntity as a QML defaultPaul Lemire2015-05-101-1/+3
| | | | | | | Cpp classes to follow Change-Id: If2479917aa516cf5da37111ae6a5886a8e24e9e7 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* FrameGraph: allow the FrameGraph tree to contain any kind of NodesPaul Lemire2015-05-101-2/+1
| | | | | Change-Id: Ib5a6ea27610dfad3352adacd57c8f0f02c97f31f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRenderTargetSelector: takes list of active drawBuffersPaul Lemire2015-05-101-1/+2
| | | | | Change-Id: I63ea3ddcd16034b4fb2d75cb8d5a90e7f557fd5e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Added QBlendStateSeparate render statePaul Lemire2015-05-091-0/+1
| | | | | Change-Id: Ifd7254c9a60df3043029229a568de72c0dd4e9fb 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>
* Quick3DStateSet extension classes for QML of QStateSetPaul Lemire2015-04-251-0/+2
| | | | | | | | QStateSet,Quick3DStateSet registered as an extended object under the StateSet name. Change-Id: I4334958ab55e403c532f3c200eb273925403dcb5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add new material QPerVertexColorMaterialLorenz2015-03-111-0/+1
| | | | | | | | 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>
* Remove failing converter registrationLaszlo Agocs2015-02-131-14/+1
| | | | | | | | | | | The QJSValue -> QVariantList converter will not be registered because there is such a conversion provided by qtdeclarative since Qt 5.4. This avoids a warning on startup. Change-Id: I69572f36f655315d4c91000a26625f44690dcd6f Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Copyright header change.Mika Salmela2015-02-091-20/+15
| | | | | | | | 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>
* Skybox example updated to use new texture APIPaul Lemire2015-02-081-1/+1
| | | | | Change-Id: Ibe21febfee752e7708b909b5411e35f75ebfb9e5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Update default Material to use new Texture APIPaul Lemire2015-02-081-1/+3
| | | | | | | Breaks Texture Rendering until all following patches are merged Change-Id: Id8663d54ec39697b6c59f626b8b1aa7d5b8d8ebf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Quick3DTextureExtension provided list of QAbstractTextureImage to QMLPaul Lemire2015-02-081-7/+7
| | | | | | | | Texture2D, TextureCubeMap still using their old extensions to not break examples for now. Change-Id: I1ad8b37acb3cb15582136be7368c94d8c7c77a4b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QTextureProviders addedPaul Lemire2015-02-081-9/+9
| | | | | | | the Quick3D textures were removed to use the providers directly instead. Change-Id: Ifa5f28aa1ce8b6e5cc921ac76e6fbd80c5ea3112 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>
* Quick2DTextureCubeMap registered as an extended QML typePaul Lemire2015-02-081-1/+1
| | | | | Change-Id: I55dbb0dd52e8be84aa65d787daaec2a943bd071d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Register QColorMask as ColorMask to QMLPaul Lemire2015-01-241-0/+2
| | | | | Change-Id: I22d2450c3ec9e2b9d1e6c9a9dc1bbd62b1370170 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add ForwardRenderer.qml in the QML defaultsPaul Lemire2015-01-181-1/+4
| | | | | Change-Id: I65bc04c2ba950541e8e72cc06b4368fc915651d0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* RenderShaderData handling entirely reworkedPaul Lemire2015-01-181-2/+3
| | | | | | | | | | | | | | | | | | | | - UBO created for each Shader/ShaderData - We deal with nested QShaderData by looking for QNodeId only instead of looking for QShaderData* - We update only the values that have changed into the UBO - A CleanupFrameJob was added to properly clear all RenderShaderData set for updates after a frame - RenderShaderData is cleared of all UBO rendering logic - BlockToUBO contains all the updated properties for a given UBO in a RenderView, that solves the issue of properties being updated in the RenderShaderData while performing a draw call Note: the QShaderData transformed properties were commented for now deferred-examples and playground qml updates to follow Change-Id: I8ecf155288c154f41b505cf465d31f5eb8a71b5d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Introduce the "polygon offset" render stateGiuseppe D'Angelo2015-01-161-0/+2
| | | | | Change-Id: Ia1705727b362945a26015763ef9e8c749437d9b6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Added default QML MaterialsPaul Lemire2015-01-101-1/+6
| | | | | | | | | Use them in material-qml example. Chest, Barrel and HousePlant simplified. Change-Id: I4161c79869d79a7bcacadd1d82e5b282deac7df0 Task-number: QTBUG-41548 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QML default phong material and generate qrc filePaul Lemire2014-12-301-0/+24
| | | | | | | | | Also registers types contained in the generated qrc file. This allows us to provide types defined by QML files into the plugin that mix seemlessly with the exported C++ types. Change-Id: I19b4afc52130d6edf5aa67a9bce4eeeae9d8b1e5 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Quick3DShaderDataPropertyReader: converts Quick3DShaderDataArray to QVariantListPaul Lemire2014-12-121-0/+11
| | | | | | | | | The renderer only cares about QVariantList to detect arrays, the property reader takes care of converting the values of the Quick3DShaderDataArray to that. Change-Id: I53fe2cf46febe7a1fec9be584c50ca505490d672 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Quick3DShaderDataArrayPaul Lemire2014-12-121-0/+2
| | | | | | | | | | | | | QML allows property var array: [] of simple types only. We can't use a var property to store an array of ShaderDataObject so Quick3DShaderDataArray was introduce to overcome that issue. It contains a QQmlListProperty<Quick3DShaderData>. This is only needed for QML, in C++ providing a QVariantList of QShaderData is enough. Change-Id: I768f5189252c219c5a1718b4c4da128bbaff008e Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Quick3DShaderData for QJSValue handlingPaul Lemire2014-12-121-1/+17
| | | | | | | | | | | | | | | | Quick3DShaderData subclasses QShaderData. QShaderData now provides a PropertyReaderInterface that returns a correct QVariant from the QVariant return when reading a QProperty. That way Quick3DShaderData properties (var) can be transformed to a QVariantList that the Renderer can use without introducing a QtQml dependency in core. RenderShaderData was updated to use propertyReader as well on creation and NodeUpdated events. A QJSValue -> QVariantList QMetatype converter was introduced to ease that process. Change-Id: Ifde5e7b85a1a84342846cd0ac0f047bd2c6ec4ef Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QShaderData registered to QMLPaul Lemire2014-12-101-0/+2
| | | | | Change-Id: If867e35b0ab874bb15989e96228d582b98bede2b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QTexture refactoringPaul Lemire2014-10-301-1/+13
| | | | | | | | | | | | | | Target is now set in the ctor from C++. On the QML side, there's a QTexture subclass for each target. WrapMode on s, t, r for texture, accessible as a grouped property in QML. Note: I left out the static fromImage as I didn't really understand their purpose. Please let me know what I'm missing. Change-Id: I16f75283ae459cbd8ab2d1ec53584b3022bc965b Task-number: QTBUG-41537 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QParameterMapper: renamed to QParameterMappingPaul Lemire2014-10-221-2/+2
| | | | | | Change-Id: I2137a22bdf35979ef300820a613db7d7bdc647e0 Task-number: QTBUG-41535 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAbstractMeshData merged with QMeshData and moved to RendererPaul Lemire2014-10-221-0/+1
| | | | | | | That implied moving QAbstractMesh to Renderer as well. Change-Id: I9013bf0458b849f7805d214a70580a80e86d8c84 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QFrameGraphItem: renamed to QFrameGraphNodePaul Lemire2014-10-201-1/+1
| | | | | | Change-Id: I4024d13acd019752544ec20a71e8a00440085846 Task-number: QTBUG-41539 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Renamed QCriterion to QAnnotationPaul Lemire2014-10-171-2/+2
| | | | | | Change-Id: I4b40120807a60873b38687ba8ce0b6c2dfd77127 Task-number: QTBUG-41534 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAbstractShapeMesh removedPaul Lemire2014-10-171-2/+0
| | | | | | Change-Id: Ibc2cb1231ccb2d7a6f986978bd030997be0c2090 Task-number:QTBUG-41528 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAlphaCoverage exported to QMLPaul Lemire2014-10-041-0/+2
| | | | | Change-Id: Id800257a337250a04a0bebe0e9a72537439d6cda Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Added and exported Quick3DParameterPaul Lemire2014-09-301-1/+3
| | | | | | | | | The Quick3DParameterPrivate reimplement a setValue method that takes care of converting a QVariant containing a QJSValue array to a QVariantList that can be handled by the backend. Change-Id: I768d1d863c853d4f81c70f098d8689e3c0149baa Reviewed-by: Sean Harmer <sean.harmer@kdab.com>