| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Change-Id: Id22d8e963fbeba2db3e7b6387f6b14a133eda2c1
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
| |
Change-Id: I5958d6391504d57c8c11c31ccc8b3de0d1a038fc
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The material and node implementation is now shared between Studio3D,
View3D and Layer3D.
By not relying on QSGImageNode in View3D (and Layer3D), we have better
control and can eventually implement support for things like multisample
textures.
Change-Id: I34a3a590a3ec6cdccbdd8ffd4fec40fb3750a972
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
| |
Change-Id: I197170c8881c4190cf714bdfe7738a7a51599c04
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
| |
Show something from the Qt Quick render thread too.
Change-Id: Id62cc6835baa06f367e324baafdc029ad25be71e
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
| |
Change-Id: I1063234174e5db3c6b518d8e7461d6628286857f
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
| |
Change-Id: I83a357d9c4869ed85a3c823f1d71de5ee3723bcd
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
| |
Gone are the days of custom scale factors and ugly upscaling. We now
behave like a good QQuickItem would do, and show the views at a
proper size regardless of devicePixelRatio.
Change-Id: If3546296fc4a4ea0af91151b472e90a9fc4abdbc
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
| |
Need to eliminate mingw warnings in qt3d first.
Change-Id: I09ddf19203345159ff45c4903845859e1654d53e
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
| |
...and fix a small glitch that prevented objects being detached from the
parent when m_layer was null (because the object was never attached to a
live Layer3D).
Change-Id: I2479d255aa150bae085d845dd36061b4ffbf19a9
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
| |
...and fix also a small potential issue in Studio3DEngine (let's not
access m_engine in the assert)
Change-Id: If4768a3b9e203a754e25bfa3cbee45f33699295d
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use Group (and Node) to crystalize the concepts.
Fix also some issues in Studio3DEngine.
Also changes the pureqml example to a manual test since Studio3DEngine and
friends are marked as internal for now, so shipping examples for them
along with the regular examples is not desirable yet.
Change-Id: I8ab0ad50d1b846cadb6927fcb38afe9dff576c2e
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
| |
Change-Id: I18a8470fd54272d5f8f08f0658edce42d9798055
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
| |
Use the Q3DSQuick prefix like we already do for some other classes
(Quick is needed since we do not want to clash with the Qt3D
integration...)
Change-Id: Ice44bb1ecfb229294b74b09e28dcccbb8d08062d
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When changing slides, always reset to eyeball value to "true" for
all objects on the master slide, as the value will be set to false
by the current slides property change if needed, or else the eyeball
value is implicitly true.
Task-number: QT3DS-2084
Change-Id: Ie7906d642edda2ff7bd1e8850cdb0ed0ce5c7eb5
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
| |
Change-Id: I6d6740443ed9979adf3bc2286c9df3549f6b0870
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
| |
because in this case the View3D items should process input.
Change-Id: Ia23e71c77e5049b841c2a408cc37ac73f4257f37
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
| |
This should not be necessary now since the scenemanager takes care of
triggering resolveReferences calls as appropriate.
Change-Id: I370a14123eb240f9592bfa4628c02abfb6323996
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Users of the legacy API may very well do something like the following:
Element { id: texture; elementPath:
"Scene.Layer.Rectangle.Material.diffusemap" }
texture.setAttribute("sourcepath", "some_image.png");
Note how the .diffusemap selects the Image object stored in the diffusemap
property instead of a child object named diffusemap.
Task-number: QT3DS-2089
Change-Id: I1b03516f67b390f8411e263774d64980b9f9e09b
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure the value of sourcepath is re-evaluated and adjusted as needed
whenever it changes. In addition, add support for qrc:/ prefixes since
applications written for the old runtime may try to treat the values are
URLs instead of actual filenames (which is very wrong but it does not cost
much to convert qrc:/ to :/ )
Task-number: QT3DS-2089
Change-Id: Id2ba31ef6246db2d4477a87ec15433b17bc836be
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
| |
Change-Id: I87120087fb73d8fad416a7b04e4250ca37ed388f
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
| |
And add the missing property docs for View3D
Change-Id: I9c4725710da66543633ba1337ca45934227f79b6
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
| |
Port scissor and rendering fixes from upstream.
Change-Id: I201a3872e9ffbbd7f2e4d5cb2790fd891d030cbc
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
On macOS this is the default anyways. On Windows machines however the
devicePixelRatio will not be > 1 without AA_EnableHighDpiScaling. Set
this flag in the examples to indicate we are capable of handling this.
(and also test-drive this a bit better on non-Apple machines as well)
Change-Id: Iafd30536e527dbc3ab764be44287ff3651106093
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
| |
We must not forget that rect() should use logical coordinates, meaning
the rect from a QQuickItem can be used as-is. sourceRect on the other
hand is in pixels (as is the texture size).
Change-Id: I67337d94f26bbaac4352b72e2d27fbabf3ed9e91
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
| |
Centering does not play nice with dpr > 1 screens due to our
somewhat odd way we handle that with scaling and whatnot. Just
having a small fixed offset works better.
Change-Id: I90819e725299fd335736f1dbbe10c4ed11015375
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
| |
Change-Id: I8834a4ff0564f42331c4ccc2ca89629cc1c13fd4
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Studio3D keyword is added to enable documentation link from qt3dstudio to qt3d-runtime.
Since Studio3D was moved from qt3dstudio repo to qt3d-runtime repo,
links to Studio3D in documentation have been invalid.
Task-number: QT3DS-1970
Change-Id: I13b7f9d1190fa38209fb9eb8e7b9413dac2c65fc
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
| |
Change-Id: Ib120fb42b7f38b7ff3f82ee7dbb82ed037c59852
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
| |
Mapping position() was clearly wrong when an item used anchors. What we
have to map is (0, 0) i.e. the top-left in local coordinates.
Change-Id: I84ed81fb8903f41deb4873a47d41903f9e26fe53
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
| |
So that it now works on both normal and separatedViews mode.
Change-Id: I220e9e221b6cc8702fd83b02031a9eb7593e7791
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...and the ImGui integration for Qt Quick since in the new world Qt 3D is
not used to create the final, composited image and therefore the profile
ui must be moved over to be rendered by Qt Quick.
Each Layer3D has hard-coded content for now (a camera, a light, and a
sphere model).
The new types are marked as internal for the time being.
Change-Id: I9cc7cff4d8252f6dbd344fc972fef31f0db6da73
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding View3D items to the Qt Quick scene allows turning off layer composition
in the main presentation, and instead accessing each layer's texture as an
individual visual QQuickItem. This way the 3D layers can be placed anywhere and
be blended freely in the 2D scene, while avoiding all the trouble multiple
Studio3D items would cause.
This also moves composition into the Qt Quick domain, providing a more
sensible story for creating 2D-3D UIs. While post-processing effects are
still active even in separated views mode, it is now possible to use
ShaderEffect instead.
MSAA and SSAA layers are not handled currently and are left as a future
exercise for those who like mind-boggling complexity.
Task-number: QT3DS-2032
Change-Id: I08128b65d0344c609f8dea15f9562ccfd19140a6
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
|
|
|
|
|
|
|
|
| |
Components on the master slide should not be restarted when changing slides.
Task-number: QT3DS-2052
Change-Id: I986e0ad713b7f979d6899a8ef80032d93e371656
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
While not obvious at first, the sizing behavior was half-broken
with dpr > 1 (Qt3D got correct settings with the device pixel ratio
included, Q3DSEngine did not). The profileui did not show up either.
This is now corrected.
Change-Id: I7aa86d50e2eb0e24ca9e1888aae8f40b4efdf20e
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Object order in the scene graph is front to back (like with Layer). When
building the effect chain for rendering (which is back to front by
nature) the effect list must be iterated in reverse order. (just like
the compositor does for layers)
Task-number: QT3DS-2053
Change-Id: I0ef82fe678330f9863a08f0411638f216dbef5f4
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
| |
Also fixes changing the filename in the sourcepath property of an Image.
Change-Id: Ie805cc288ecda96cdf126ec1d611aa863cb82c48
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
| |
...and handle setCustomMesh(nullptr) gracefully in addition.
Change-Id: Ida9652cc6cbc8ebfda95b2259ec1c13666c36254
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
| |
Change-Id: Ie3fcd1b98b5a612fa1bd61ee970ae3f61ec7f2af
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
| |
Change-Id: I6946eb935e315a47823e8642aed917091efc9496
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
| |
Null meaning default constructed, when 'class' is not set. Previously
this resulted in a crash.
Change-Id: I779164c70747482c533fd64ae64219f8fb7648fe
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
| |
...to avoid lambda capture trouble: some compilers require stride to be
listed in the capture list, while others show a warning saying it is
unnecessary.
Change-Id: I67a3b2be51b6cfb3df76494f00791c6151d34497
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
One can now create, destroy and move materials around freely, even while
the model and the material(s) are connected to the scene. No need to
unparent the model first. In practice it is still more efficient to
create model+material hierarchies off-scene since doing so prevents
unnecessary submesh/material rebuilding that is caused by every change
in the model's children list.
Change-Id: Ifa8db4976e4dbf4b6b9a20369e8daa6c9beae7ea
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
| |
Change-Id: I6f58b4ae276c6d0530ce5a5fb726fd1fafbd3581
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QT3DS-2025
Task-number: QT3DS-2023
Change-Id: Ie17c0ed176c5f25e552db35b4eebbab64829bfc1
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QT3DS-2025
Task-number: QT3DS-2023
Change-Id: Icd8e5190b078cd78ee13525c522097d94fe45ded
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
| |
Task-number: QT3DS-1995
Change-Id: Ie9a5ded67edba5d9c0247fb381254558e381bf3a
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Like with effects, the 'class' property can now be changed at run time,
and can also refer to a file (in addition to a #id from the .uip's Classes
section)
Note that constructing materials on the fly needs to be done so that the
active scene's tree is consistent at any time. For example, to replace a
model's material, the model has to first be unparented from the scene's
object tree (and so be disconnected from the scene) because having a
model without the sufficient number of materials is not allowed. Once
the child object (the material) is replaced (and, for custom materials,
the class property was set), the model can be parented back to where it was.
When just changing the class property on a CustomMaterial, this is not needed
of course, the change is picked up right away.
Change-Id: I086154023513d13a4a298aeac7e0e247951a6e09
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Parsing something, like an effect due to setting the 'class' property to
a file, can lead to parse errors that pop up dialogs by default when
running with the widget-based viewer. While not an issue for
applications or the QWindow-mode viewer, it is nice if we avoid popping
up dialogs when triggering errors from the console - these should rather
print on the debug output and show up in the log.
In addition, popping up a dialog with the console active leads to
strange problems with input afterwards. Avoid this altogether.
Change-Id: Ica5aa893601418d569b4b0dcbc26d042e6af9284
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also makes it possible to use filenames in effects', custom materials' and
behaviors' "class" property. Previously this could only contain an id
referring to an entry in the Classes section of the uip document. With
programatically constructed scenes the pre-loaded list of
effect/material/behavior descriptions is not used. Instead the instances
refer directly to filenames (the loaded data is cached like with meshes).
Custom materials and behaviors do not yet support changing their "class"
at runtime, although they get many of the enablers.
Change-Id: I560ab00b9dc447bd19d5ebeb749972873b89ec2c
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|