Re: [Interest] {Qt3D} Problem with the look of QDiffuseSpecularMaterial moving from Qt5 to Qt6

2024-05-07 Thread Mike Krus via Interest
Hi

do you know which backend you are using? RHI (default)? If so, could you try 
the GL backend?
In either case, please create a bug report with, if possible, a small example 
to reproduce the issue.


Mike


> On 4 May 2024, at 23:25, Andy  wrote:
> 
> I've been upgrading an old codebase from Qt5 to Qt6. For Qt3D, I've followed 
> the info from here:
> 
>   https://www.kdab.com/qt-3d-changes-in-qt-6/
> 
> The changes I've had to make so far were all around geometry, but I'm getting 
> different visuals between Qt5 and Qt6.
> 
> Qt 5.15.2:
> Qt 6.7.0:
> 
> 
> (Ignore slight camera position difference.)
> 
> I haven't changed the light or any of the materials.
> 
> I'm using QDiffuseSpecularMaterial for all these meshes, and setting ambient, 
> diffuse, shininess, and specular for all.
> 
> I haven't found anything describing any changes to QDiffuseSpecularMaterial. 
> Am I missing something I need to change? Did QDiffuseSpecularMaterial just 
> change to be darker? If so, how do I get lighter colours back? No matter what 
> I change it's super-dark.
> 
> My offscreen renderer is also broken now, but that seems to be a separate 
> issue.
> 
> (Aside: It would be useful to have C++ examples of the new stuff - 
> QBoundingVolume and QGeometryView for example. The official docs - as with 
> all of Qt3D - are very sparse. More docs & more examples would be of great 
> help.)
> 
> Thank you!
> 
> P.S. My active framegraph looks like this:
> 
> myCustomFrameGraph::Custom (:0, (null))
> Qt3DRender::QRenderSurfaceSelector:: (:0, (null))
> Qt3DRender::QViewport:: (:0, (null))
> Qt3DRender::QClearBuffers::backgroundColour (:0, (null))
> Qt3DRender::QNoDraw:: (:0, (null))
> Qt3DRender::QFrustumCulling:: (:0, (null))
> Qt3DRender::QCameraSelector::onScreenCameraSelector (:0, 
> (null))
> Qt3DRender::QRenderCapture::onScreenCapture (:0, (null))
> Qt3DRender::QLayerFilter::opaqueLayer (:0, (null))
> Qt3DRender::QLayerFilter::transparentLayer (:0, (null))
> Qt3DRender::QCameraSelector::offScreenCameraSelector (:0, 
> (null))
> Qt3DRender::QRenderTargetSelector:: (:0, (null))
> Qt3DRender::QRenderTarget::offScreenTarget (:0, 
> (null))
> Qt3DRender::QRenderTargetOutput:: (:0, (null))
> 
> Qt3DRender::QTexture2DMultisample::offScreenTexture (:0, (null))
> Qt3DRender::QClearBuffers::backgroundColour (:0, 
> (null))
> Qt3DRender::QNoDraw:: (:0, (null))
> Qt3DRender::QRenderCapture::offScreenCapture (:0, 
> (null))
> Qt3DRender::QLayerFilter::opaqueLayer (:0, (null))
> Qt3DRender::QLayerFilter::transparentLayer (:0, 
> (null))
> 
> ---
> Andy Maloney
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts

___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] "Qt Quick 3D Physics" C++ Port/Frontend?

2024-05-03 Thread Mike Krus via Interest
Hi

at this point, we (KDAB) have no plan for implementing a full fledged physics 
simulation module to Qt3D.
It is certainly feasible (we had a prototype implementation a while back, think 
there’s a wip/physics branch somewhere),
but the development of such a large feature would require a substantial 
investment which would need to be
supported by other contributions.

Regards,
Mike


> On 1 May 2024, at 09:28, d3fault  wrote:
> 
> Are there plans to ever bring physics to Qt 3D 2.0, specifically the C++ 
> frontend?
> 
> Also is it possible to simulate physics behind the scenes without any views 
> attached? I want to make a game engine and a Server is generally headless but 
> still needs to simulate the physics.
> 
> I'm considering using PAL ( http://www.adrianboeing.com/pal/index.html ) but 
> I prefer the "Qt way" of doing C++.
> 
> Thanks,
> d3fault
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts

___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Centering camera on bounding volume change in Qt3D

2023-04-14 Thread Mike Krus via Interest


> On 26 Mar 2023, at 17:34, Maxime Roussin-Bélanger 
>  wrote:
> 
> On Sun, Mar 26, 2023 at 3:35 AM Mike Krus  wrote:
>> 
>> But doesn’t the system know you are changing the entities?
>> You say mouse click changes the entities, what does it do exactly, are you 
>> using a QObjectPicker or something?
> 
> 
> No QObjectPicker, well maybe in the future, but at the moment we are
> only using menus, but I was curious how to find
> the whole bounding volume of the scene, but I think we can simplify it.
> 
> Imagine instead of the whole scene we have `Qt3DCore::QGeometry`; on
> this object, we have
> {min,max}ExtentChanged. Instead, I would like to listen to the
> bounding volume changed signal instead of being double-tapped by
> those two signals. I found https://bugreports.qt.io/browse/QTBUG-54584
> which would be helpful for something
> we are trying to do.
I’ve updated that ticket with info on what was added since it’s creation.

> If we can get the entity bounding sphere changed signal I don't think
> I would need it on the scene.\
Could listen to QGeometry::minExtentChanged signals…

But again, from your menu action, you could first change the geometry and then 
tell the camera to recenter (might have to delay that a short while, Qt3D 
asynchronously updates bounding volumes).



Mike

> Max.
> 
> 
>> 
>> Mike
>> 
>> 
>>> On 26 Mar 2023, at 07:38, Maxime Roussin-Bélanger 
>>>  wrote:
>>> 
>>> On Sat, Mar 25, 2023 at 11:55 AM Mike Krus  wrote:
 
 
 
> On 25 Mar 2023, at 15:04, Maxime Roussin-Bélanger 
>  wrote:
> 
> Hello,
> 
> The entity change is caused by user input, the user moves the mouse over 
> the entity and changes its shape, or it can use
> a menu to change the entity shape. I think I would have to inject the 
> camera into _every_ entity object?
 If the user moves the mouse, something in your application must be 
 changing the shape, that can also reset the camera…
 I think I need example code of what you are trying to achieve.
 
>>> 
>>> I don't want my entities to know about the camera, ideally, I would
>>> like the system, qt, to tell me that the bounding sphere has changed
>>> in some ways.
>>> 
>>> Max.
>>> 
 
 Mike
 
>> 
>> —
>> Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
>> KDAB (UK) Ltd., a KDAB Group company
>> Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
>> KDAB - The Qt Experts, C++, OpenGL Experts
>> 

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts

___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Centering camera on bounding volume change in Qt3D

2023-03-25 Thread Mike Krus via Interest
Hi

Have you tried to call QCamera::viewAll() ?


Mike


> On 24 Mar 2023, at 21:38, Maxime Roussin-Bélanger 
>  wrote:
> 
> Hi there,
> 
> Despite searching through the documentation, I couldn't find a solution to my 
> problem. I have a 3D scene, and I am trying to center the camera when the 
> bounding volume of the scene changes. Essentially, if an entity's 
> width/height/depth changes and/or when I add a new entity, I would like the 
> camera to remain pointed at the center of the bounding sphere. Do you have 
> any suggestions or resources that may help achieve this? I need some sort of 
> signal I guess?
> 
> If something in the Private API can be helpful, I might bind on this, but I 
> would rather not.
> 
> Thanks,
> Max
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts

___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt3D Fit in view

2023-03-10 Thread Mike Krus via Interest


> On 9 Mar 2023, at 22:00, Sean Murphy via Interest  
> wrote:
> 
> I'm trying out the Qt 3D classes for the first time and am in need of a 
> couple pointers.
> At a high level, I have the following:
> - 1 view, 1 scene, 1 camera, and 1 QOrbitCameraController
>  - in the scene, I create 7 entities, each a child of the root entity
>- each of the entities contains a mesh that is sourced from a
>  corresponding .obj file
> 
> Then my main window contains 7 radio buttons to toggle which entity is 
> visible at any
> given time. The radio buttons are mutually exclusive, so the goal is that 
> only one entity
> is visible at any time. I'm having two main issues with the setup so far:
> 
> Issue 1: QEntity::setEnabled(false) doesn't seem to make the entity invisible
>  Each radio button is connected to a corresponding slot which just does the 
> following:
> 
>void MainWindow::slotEntity1Toggled(bool checked)
>{
>  qDebug() << __FUNCTION__ << checked;
>  Entity1 ->setEnabled(checked);
>}
> 
>  When the button becomes enabled (checked == true) the entity does in fact 
> become
>  visible. But when the button is disabled (checked == false), the entity is 
> still
>  visible in the view. If at that point I resize the application (and 
> therefore the
>  view) then the old entity disappears. It appears I need the 3D version of a
>  repaint(), but so far I haven't found where that is (or even which class I 
> should be
>  looking at). I did try explicitly calling repaint() on the QWidget that 
> holds the
>  view, but that didn't force the 3D scene to re-render, so far I've only been 
> able
>  to get it to redraw by resizing the widget.
> 
>  From the qDebug() statement in there, I can see that this slot is getting 
> called
>  as expected. Every time it's called with "true" the entity changes from
>  invisible->visible without requiring any window resizing. But every time 
> this function
>  is called with "false", I have to resize the window to get the entity to 
> disappear
unless you have setup your scene to be refresh ondemand 
(QRenderSettings::renderPolicy
set to QRenderSettings::OnDemand), Qt3D should constantly re-render.

Please provide more details on how the view is setup.


> Issue 2: Is there any sort of "fit in view" functionality for 3D views?
> 
>  Since I'm only allowing the user to display one entity at a time, I'd like 
> to be
>  able to automatically set the camera settings to zoom as needed to fit the 
> entire
>  entity within the view, so the user doesn't have to manually zoom in/out as 
> they
>  switch between entities.
> 
>  I've used the 2D classes QGraphicsView & QGraphicsScene fairly extensively 
> and I'm
>  used to using QGraphicsView::fitInView(QGraphicsItem*) and have the 
> QGraphicsView set
>  the transform needed to fit that item within the view. I was hoping that Qt 
> 3D has
>  something similar, but so far I haven't stumbled across it. I don't know 
> enough about
>  the Qt 3D classes yet to know if there's some easy way to compute the 
> correct transform
>  required to set this up?
> 
>  The .obj files I'm playing around with have VASTLY different scale factors 
> so a
>  camera setting for one entity often doesn't work well for another.
There’s relevant methods on the QCamera class.



Mike


> Other pertinent information:
> - Using Qt 5.15.2, but could switch to Qt 6 if required.
> - I would prefer to stick with QWidget & C++, not QML
> - I'm extremely new to Qt 3D, OpenGL, etc. so go ahead and make the 
> assumption that
>   I know nothing about anything in that realm. It's an accurate assumption, 
> and I won't
>   be offended!
> 
> Thanks,
> Sean
> 
> 
> 
> 
> 
> 
> This e-mail, including any attached files, may contain confidential 
> information, privileged information and/or trade secrets for the sole use of 
> the intended recipient. Any review, use, distribution, or disclosure by 
> others is strictly prohibited. If you are not the intended recipient (or 
> authorized to receive information for the intended recipient), please contact 
> the sender by reply e-mail and delete all copies of this message.
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts

___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt3D : QSceneLoader - determining scene level geometry bounding box

2022-08-08 Thread Mike Krus via Interest
please file a bug report


Mike

> On 8 Aug 2022, at 17:21, Nicholas Yue  wrote:
>
> Hi Mike,
>
> I have now tried calling updateImplicitBounds() but it returns false
>
> Is that indicating some underlying issue elsewhere?
>
> ```
> Status changed: Qt3DRender::QSceneLoader::Loading
> Status changed: Qt3DRender::QSceneLoader::Ready
>  Entity: Qt3DCore::QEntity(0x7ffaac004660, name = untitled.obj) Components: 
> QList(Qt3DCore::QTransform(0x7ffaac04c590))
> BoundingVolume:  "untitled.obj"
>Entity: Qt3DCore::QEntity(0x7ffaac019220, name = Suzanne) Components: 
> QList(Qt3DExtras::QPhongMaterial(0x7ffaac01bf30, name = DefaultMaterial), 
> Qt3DRender::QGeometryRenderer(0x7ffaac00c4d0), 
> Qt3DCore::QTransform(0x7ffaac045800))
> BoundingVolume:  "Suzanne"
> gr is Valid
> updateImplicitBounds returns FALSE
> ```
>
> ```
> void SceneWalker::walkEntity(Qt3DCore::QEntity *e, int depth)
> {
> Qt3DCore::QNodeVector nodes = e->childNodes();
> for (int i = 0; i < nodes.count(); ++i) {
> Qt3DCore::QNode *node = nodes[i];
> Qt3DCore::QEntity *entity = qobject_cast(node);
> if (entity) {
> QString indent;
> indent.fill(' ', depth * 2);
> qDebug().noquote() << indent << "Entity:" << entity << 
> "Components:" << entity->components();
> {
> // Question about BoundingVolume
> qDebug() << "BoundingVolume: " << entity->objectName();
> const QList myQGeometryRenderer 
> = entity->componentsOfType();
> if (!myQGeometryRenderer.isEmpty())
> {
> Qt3DRender::QGeometryRenderer *gr = myQGeometryRenderer[0];
> if (gr){
> qDebug() << "gr is Valid";
> if (gr->updateImplicitBounds()){
> QVector3D minPoint = gr->implicitMinPoint();
> QVector3D maxPoint = gr->implicitMaxPoint();
> qDebug() << "minPoint: " << minPoint;
> qDebug() << "maxPoint: " << maxPoint;
> }
> else
> qDebug() << "updateImplicitBounds returns FALSE";
> }
> }
> }
> walkEntity(entity, depth + 1);
> }
> }
> }
> ```
>
> On Sat, 6 Aug 2022 at 00:09, Mike Krus  wrote:
> the computations are done a background thread, you may have to wait 1 frame 
> before they are valid.
> Or call QBoundingVolume::updateImplicitBounds() before reading them.
>
> If it fails please submit a bug report with a small example
>
> Mike
>
> > On 5 Aug 2022, at 20:38, Nicholas Yue  wrote:
> >
> > Any insight ?
> >
> > On Wed, 3 Aug 2022 at 15:44, Nicholas Yue  wrote:
> > I have the following code
> >
> > ```
> > void SceneWalker::walkEntity(Qt3DCore::QEntity *e, int depth)
> > {
> > Qt3DCore::QNodeVector nodes = e->childNodes();
> > for (int i = 0; i < nodes.count(); ++i) {
> > Qt3DCore::QNode *node = nodes[i];
> > Qt3DCore::QEntity *entity = qobject_cast(node);
> > if (entity) {
> > QString indent;
> > indent.fill(' ', depth * 2);
> > qDebug().noquote() << indent << "Entity:" << entity << 
> > "Components:" << entity->components();
> >
> > {
> > // Question about BoundingVolume
> > qDebug() << "BoundingVolume: " << entity->objectName();
> > const QList 
> > myQGeometryRenderer = 
> > entity->componentsOfType();
> > if (!myQGeometryRenderer.isEmpty())
> > {
> > Qt3DRender::QGeometryRenderer *gr = myQGeometryRenderer[0];
> > QVector3D minPoint = gr->implicitMinPoint();
> > QVector3D maxPoint = gr->implicitMaxPoint();
> > qDebug() << "minPoint: " << minPoint;
> > qDebug() << "maxPoint: " << maxPoint;
> > }
> > }
> > walkEntity(entity, depth + 1);
> > }
> > }
> > }
> > ```
> >
> > But I got the (0,0,0) for both the min/max point
> >
> > ```
> > Status changed: Qt3DRender::QSceneLoader::Loading
> > Status changed: Qt3DRender::QSceneLoader::Ready
> >  Entity: Qt3DCore::QEntity(0x7f65dc004660, name = untitled.obj) Components: 
> > QList(Qt3DCore::QTransform(0x7f65dc04c590))
> >Entity: Qt3DCore::QEntity(0x7f65dc019220, name = Suzanne) Components: 
> > QList(Qt3DExtras::QPhongMaterial(0x7f65dc01bf30, name = DefaultMaterial), 
> > Qt3DRender::QGeometryRenderer(0x7f65dc00c4d0), 
> > Qt3DCore::QTransform(0x7f65dc045800))
> > BoundingVolume:  "Suzanne"
> > minPoint:  QVector3D(0, 0, 0)
> > maxPoint:  QVector3D(0, 0, 0)
> > BoundingVolume:  "untitled.obj"
> > ```
> >
> > I am using Qt 6.2.2 on Ubuntu
> >
> > Cheers
> >
> > On Wed, 3 Aug 2022 at 01:25, Mike Krus  wrote:
> > Hi
> >
> > once the scene is loaded (ie, the status is Ready, keeping in mind loading 
> > is asynchronous), you can use
> > QSceneLoader::entity() to get a loaded entity by name, and then 
> > QEntity::componentsOfType() to get the component.
> > Loaded entities are children of the entity that the QSceneLoader component 

Re: [Interest] Qt3D : QSceneLoader - determining scene level geometry bounding box

2022-08-03 Thread Mike Krus via Interest
Hi

once the scene is loaded (ie, the status is Ready, keeping in mind loading is 
asynchronous), you can use
QSceneLoader::entity() to get a loaded entity by name, and then 
QEntity::componentsOfType() to get the component.
Loaded entities are children of the entity that the QSceneLoader component was 
assigned to, and components and
entities are all QObjects so you can use the normal tree traversal techniques 
that work with any QObject to find
objects by type or name.


Mike

> On 3 Aug 2022, at 00:14, Nicholas Yue  wrote:
>
> Thank you Mike.
>
> Follow up question:
>
> Given a
>
> ```
> Qt3DRender::QSceneLoader *sceneLoader;
> ```
>
> How do we get at this QGeometryRenderer object to be able to call the 
> impliciteMinPoint (), impliciteMaxPoint () properties ?
>
> Cheers
>
> On Tue, 2 Aug 2022 at 05:56, Mike Krus  wrote:
> Hi
>
> if you are using Qt6, then yes.
>
> For a specific object, QGeometryRenderer derives from QBoundingVolume which 
> has impliciteMinPoint and impliciteMaxPoint properties.
>
> If you’re interested in the bounding volume of a portion of the scene graph, 
> all a QBoundingVolume component at the root and the
> same properties will be updated.
>
> In Qt5, the QGeometry node associated with each render has similar min/max 
> properties (note that they only valid if the mesh uses all the geometry).
>
> Hope this helps,
>
> Mike
>
>
> > On 1 Aug 2022, at 16:05, Nicholas Yue  wrote:
> >
> > Hi,
> >
> >   I am diving into the geometry scene via QSceneLoader.
> >
> >   Using the following code as a starting point, I wish to place the camera 
> > such that it automatically accommodates scenes of different sizes.
> >
> >   One way I am thinking of doing is to base on the scene geometry bounding 
> > box.
> >
> >   Is there a method or API which I can call to query the entire scene 
> > geometry bounding box ? Or do I have to walk the entire scene to build that 
> > up by querying the bounding box for every geometry in the scene ?
> >
> >   Any sample code I can view to get me going ?
> >
> > ```
> > /
> > **
> > ** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB).
> > ** Contact: https://www.qt.io/licensing/
> > **
> > ** This file is part of the Qt3D module of the Qt Toolkit.
> > **
> > ** $QT_BEGIN_LICENSE:BSD$
> > ** Commercial License Usage
> > ** Licensees holding valid commercial Qt licenses may use this file in
> > ** accordance with the commercial license agreement provided with the
> > ** Software or, alternatively, in accordance with the terms contained in
> > ** a written agreement between you and The Qt Company. For licensing terms
> > ** and conditions see https://www.qt.io/terms-conditions. For further
> > ** information use the contact form at https://www.qt.io/contact-us.
> > **
> > ** BSD License Usage
> > ** Alternatively, you may use this file under the terms of the BSD license
> > ** as follows:
> > **
> > ** "Redistribution and use in source and binary forms, with or without
> > ** modification, are permitted provided that the following conditions are
> > ** met:
> > **   * Redistributions of source code must retain the above copyright
> > ** notice, this list of conditions and the following disclaimer.
> > **   * Redistributions in binary form must reproduce the above copyright
> > ** notice, this list of conditions and the following disclaimer in
> > ** the documentation and/or other materials provided with the
> > ** distribution.
> > **   * Neither the name of The Qt Company Ltd nor the names of its
> > ** contributors may be used to endorse or promote products derived
> > ** from this software without specific prior written permission.
> > **
> > **
> > ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> > ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> > ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> > ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> > ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> > ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> > ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> > ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> > ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> > ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> > ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
> > **
> > ** $QT_END_LICENSE$
> > **
> > /
> >
> > #include 
> > #include 
> >
> > #include 
> > #include 
> > #include 
> > #include 
> > #include 
> > #include 
> > #include 
> > #include 
> > // #include 
> > #include "MyCameraController.h"
> > #include "TrackballCameraController.h"
> >
> > class SceneWalker : public 

Re: [Interest] Qt3D : QSceneLoader - determining scene level geometry bounding box

2022-08-02 Thread Mike Krus via Interest
Hi

if you are using Qt6, then yes.

For a specific object, QGeometryRenderer derives from QBoundingVolume which has 
impliciteMinPoint and impliciteMaxPoint properties.

If you’re interested in the bounding volume of a portion of the scene graph, 
all a QBoundingVolume component at the root and the
same properties will be updated.

In Qt5, the QGeometry node associated with each render has similar min/max 
properties (note that they only valid if the mesh uses all the geometry).

Hope this helps,

Mike


> On 1 Aug 2022, at 16:05, Nicholas Yue  wrote:
>
> Hi,
>
>   I am diving into the geometry scene via QSceneLoader.
>
>   Using the following code as a starting point, I wish to place the camera 
> such that it automatically accommodates scenes of different sizes.
>
>   One way I am thinking of doing is to base on the scene geometry bounding 
> box.
>
>   Is there a method or API which I can call to query the entire scene 
> geometry bounding box ? Or do I have to walk the entire scene to build that 
> up by querying the bounding box for every geometry in the scene ?
>
>   Any sample code I can view to get me going ?
>
> ```
> /
> **
> ** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB).
> ** Contact: https://www.qt.io/licensing/
> **
> ** This file is part of the Qt3D module of the Qt Toolkit.
> **
> ** $QT_BEGIN_LICENSE:BSD$
> ** Commercial License Usage
> ** Licensees holding valid commercial Qt licenses may use this file in
> ** accordance with the commercial license agreement provided with the
> ** Software or, alternatively, in accordance with the terms contained in
> ** a written agreement between you and The Qt Company. For licensing terms
> ** and conditions see https://www.qt.io/terms-conditions. For further
> ** information use the contact form at https://www.qt.io/contact-us.
> **
> ** BSD License Usage
> ** Alternatively, you may use this file under the terms of the BSD license
> ** as follows:
> **
> ** "Redistribution and use in source and binary forms, with or without
> ** modification, are permitted provided that the following conditions are
> ** met:
> **   * Redistributions of source code must retain the above copyright
> ** notice, this list of conditions and the following disclaimer.
> **   * Redistributions in binary form must reproduce the above copyright
> ** notice, this list of conditions and the following disclaimer in
> ** the documentation and/or other materials provided with the
> ** distribution.
> **   * Neither the name of The Qt Company Ltd nor the names of its
> ** contributors may be used to endorse or promote products derived
> ** from this software without specific prior written permission.
> **
> **
> ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
> **
> ** $QT_END_LICENSE$
> **
> /
>
> #include 
> #include 
>
> #include 
> #include 
> #include 
> #include 
> #include 
> #include 
> #include 
> #include 
> // #include 
> #include "MyCameraController.h"
> #include "TrackballCameraController.h"
>
> class SceneWalker : public QObject
> {
> public:
> SceneWalker(Qt3DRender::QSceneLoader *loader) : m_loader(loader) { }
>
> void onStatusChanged();
>
> private:
> void walkEntity(Qt3DCore::QEntity *e, int depth = 0);
>
> Qt3DRender::QSceneLoader *m_loader;
> };
>
> void SceneWalker::onStatusChanged()
> {
> qDebug() << "Status changed:" << m_loader->status();
> if (m_loader->status() != Qt3DRender::QSceneLoader::Ready)
> return;
>
> // The QSceneLoader instance is a component of an entity. The loaded scene
> // tree is added under this entity.
> QVector entities = m_loader->entities();
>
> // Technically there could be multiple entities referencing the scene 
> loader
> // but sharing is discouraged, and in our case there will be one anyhow.
> if (entities.isEmpty())
> return;
> Qt3DCore::QEntity *root = entities[0];
> // Print the tree.
> walkEntity(root);
>
> // To access a given node (like a named mesh in the scene), use 
> QObject::findChild().
> // The scene 

Re: [Interest] Qt3D/C++: How to disable rendering while makeing changes to the the Scenegraph

2022-06-20 Thread Mike Krus via Interest
Hi


> On 20 Jun 2022, at 08:37, Yves Maurischat  
> wrote:
>
> Hi all,
>
> I've got a C++/QWidgets application with 2 Qt3DWindow embedded. The 3D 
> windows can be hidden (i.e. the user switches to another view), while work is 
> done in other parts of the application. Whenever the user switches back to 
> the view with the embedded Qt3DWindow there are a lot of changes to be made 
> to the scenegraph.
>
> Rendering is set to OnDemand, but whenever the view is switched back to the 
> 3D windows there is a big lag, up to several seconds. Profiling the 
> application has shown that a lot of work is done for rendering at that point 
> because the scenegraph is changing (most time is spent in the material 
> classes).
>
> My working theory is, that each change to the scenegraph (i.e. removing 
> entities, adding a new ones) causes a separate render update, which leads to 
> the lag due to the amount of separate changes.
that is not correct, updates are batched on a per-frame basis. If you’re not 
scheduling frames, no updates will be made.

If you are using Qt version 5.15.0 or later this should be pretty fast. Prior 
version had a slower update mechanism.

One thing to keep in mind though is that changing materials will lead shaders 
needing to be recompiled, potentially textures to be updates, etc. Changing 
geometry means bounding volumes need updating, buffers need to be uploaded, etc.
So the time might just be due to the GL state needing to be updated. You should 
take care to minimise such changes.

Another thing to note, if you have 2 Qt3DWindows, then you have 2 underlying 
Qt3DEngine instances. These do not share resources so everything might be done 
twice.

Of course it’s impossible to provide accurate feedback without profiling the 
actual code.


Mike


> So my question is: Is there a way to disable all render updates until the 
> scenegraph has been updated/modified completely? What would be the "correct" 
> way to make such changes? Is there  something similar to the 
> beginResetModel() and endResetModel() methods in QAbstractItemModel?
>
>
> Thanks!
>
> Yves
>
>
>
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts




smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] License for Qt6 QtMultimedia module (LGPL?)

2022-02-16 Thread Mike Krus via Interest
Hi

I thought qtshadertools had been relicensed as LGPL for 6.3?


Mike

> On 15 Feb 2022, at 18:27, Adam Light  wrote:
>
>
>
> On Tue, Feb 15, 2022 at 10:20 AM Alexey Edelev  wrote:
> Shadertools module provides an executable that is used by multimedia at build 
> time only. So there is no runtime dependencies between qtmultimedia and 
> shadertools, so that's the key, I guess.
>
> OK, that makes sense. Thanks.
>
> Adam
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts




smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Drawing Frustum on Scene3D

2021-03-06 Thread Mike Krus via Interest
Hi

in Qt 3D you can use a QGeometryRenderer with primitiveType set to Lines (or 
LineLoop, LineStrip depending on how you structure your data). Checkout 
https://code.qt.io/cgit/qt/qt3d.git/tree/tests/manual/raycasting-qml/LineEntity.qml


Mike

> On 5 Mar 2021, at 14:16, Alex john  wrote:
> 
> But in quick3D that would be done with a class derived from
> QQuick3DGeometry with primitives set to lines
> "setPrimitiveType(QQuick3DGeometry::PrimitiveType::Lines)"
> to construct a cube. Then register that class to qml and use it in
> your View3D. Hope it helps.
> 
> Any alternative to QQuick3DGeometry as I'm using 5.10?
> 
> On Fri, Mar 5, 2021 at 5:00 PM joao morgado  wrote:
>> 
>> Hi
>> 
>> That frustum is just a group of lines in cube shape, you see it as a frustum 
>> because the camera is in perspective mode.
>> I never used Qt3D so cannot help with scene3d.
>> But in quick3D that would be done with a class derived from QQuick3DGeometry 
>> with primitives set to lines 
>> "setPrimitiveType(QQuick3DGeometry::PrimitiveType::Lines)"
>> to construct a cube. Then register that class to qml and use it in your 
>> View3D. Hope it helps.
>> 
>> João
>> Em sexta-feira, 5 de março de 2021 09:46:15 GMT, Alex john 
>>  escreveu:
>> 
>> 
>> Hello Qt
>> 
>> I like to render a frustum as here https://imgur.com/a/BzmCQ2D on
>> Scene3d. Can you let me know how it can be done? If I have to get the
>> custom QML ,do I have to get it from the C++ and then push it to the
>> QML context? Any pointers to basic code is appreciated.
>> 
>> Thanks.
>> ___
>> Interest mailing list
>> Interest@qt-project.org
>> https://lists.qt-project.org/listinfo/interest
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts




smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Rendering 3d object on webcam video

2021-03-03 Thread Mike Krus via Interest
Hi

try putting the camera first, then setting the clear colour of your frame graph 
to “transparent” ?


Mike

> On 3 Mar 2021, at 14:28, Alex john  wrote:
> 
> 
> Hello,
> 
> I am trying  to overlay a 3d object(.obj file) on top of the video, I could 
> successfully load the .obj file and rendered it by refering to example 
> https://doc.qt.io/qt-5/qt3d-wireframe-example.html, later I changed the code 
> in main.qml by raping Entity from main.qml into Scene3D and tried to get the 
> webcam rendered using QtMultimedia as below.
> 
> Rectangle{
> 
> Scene3D{
> anchors.fill: parent
> focus: true
> 
>   Entity {
> id: root
> 
> // Render  3d object same code as in 
> https://doc.qt.io/qt-5/qt3d-wireframe-example.html
> 
>  }
> 
> 
> }
>  Camera {
> id: camera
> imageProcessing.whiteBalanceMode: 
> CameraImageProcessing.WhiteBalanceFlash
> exposure {
> exposureCompensation: -1.0
> exposureMode: Camera.ExposurePortrait
> }
> 
> flash.mode: Camera.FlashRedEyeReduction
> 
> 
> }
> 
> VideoOutput {
> source: camera
> anchors.fill: parent
> //focus : visible // to receive focus and capture key events when 
> visible
> }
> 
> }
> 
> However, what happens is either the camera video is seen or the 3d object 
> based on the sequence whichever is last. How can I get the 3D object on top 
> of the video? any clues?
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts




smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Trouble compiling qt3d for qt6 on windows 10

2021-02-16 Thread Mike Krus via Interest
Hi

Assuming qt-configure-module.bat invokes qmake, the right way of passing the 
configure options is “-- -qt3d-simd=avx2”
If it’s invokes cmake, then try -DFEATURE_qt3d_simd_avx2=ON

Mike

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer & Teamlead
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts


> On 16 Feb 2021, at 13:31, Daniel Patel  wrote:
> 
> Using a space didn't work either. I will try to use cmake though.
> The reason I wanted to use avx2 was to try to get rid of the compilation 
> error: Project ERROR: Could not find feature qt3d-simd-avx2
> 
> 
> tir. 16. feb. 2021 kl. 14:22 skrev Paul Lemire :
> 
> 
> On 2/16/21 1:33 PM, Daniel Patel wrote:
>> Thanks a lot for the reply Paul, it was useful as always.
>> Copying the files made the qt3d examples work!
>> I realized that the compile error showed up because qt6 itself was only 
>> compiled in debug mode.
>> With the appropriate flag to the configure script, qt6 now compiles both in 
>> debug and in release.
>> 
>> However, now when compiling qt3d I ran into the error : "Could not find 
>> feature qt3d-simd-avx2" (I already configured and compiled qt6 with -avx2 
>> flag)
>> I am just not able to tell/configure qt3d to use avx2 instead of sse2. 
>> Currently "qmake .." returns:
>>   Use SSE2 instructions .. yes
>> 
>>   Use AVX2 instructions .. no
>> 
>> After running configure for the qt6 build I got this text as output:
>> "To configure and build other Qt modules, you can use the following 
>> convenience script:
>> C:/Qt/Qt-6.1/bin/qt-configure-module.bat"
>> So i did a "c:\Qt\Qt-6.1\bin\qt-configure-module.bat 
>> qt3d-everywhere-src-6.0.0 --qt3d-simd=avx2"   but that failed with  "Unknown 
>> command line option '--qt3d-simd=avx2'"  (I also tried -avx2-qt3d-simd and 
>> -qt3d-simd-avx2)
>> Anyone knows how to set configure flags for qt3d before compiling it?
> 
> What about -qt3d-simd avx2 (just a space)? That's what I use when compiling 
> on linux with qmake. For Qt 6, I've switched to cmake though, option to use 
> is -DFEATURE_qt3d_simd_avx2=ON on the cmake command line.
> 
> That being said, the avx2 option for Qt 3D essentially only yields better 
> performance when we multiply matrices internally. The sse2 option is not much 
> slower, a lot faster than relying on QMatrix4x4 (though this might have 
> changed in Qt6, haven't checked).
> 
> 
> 
>> 
>> On a side note I also was not able to get qt6 configure script to detect 
>> zlib libraries even though I set appropriate environment variables and sent 
>> in paths using both -D option as well as -I and -L option.
>> 
>> man. 15. feb. 2021 kl. 11:47 skrev Paul Lemire :
>> I can't really help about the compile issues. But I should be able to help 
>> regarding the plugin error.
>> 
>> You likely need to copy a few more things from the qt3d build dir to your Qt 
>> install dir:
>> 
>> qt3d_build_dir/qml/Qt3D into Qt_Install_Dir/qml/
>> 
>> qt3d_build_dir/qml/QtQuick/* into Qt_Install_Dir/qml/QtQuick/
>> 
>> qt3d_build_dir/plugins/* into Qt_Install_Dir/plugins/
>> 
>> (the plugins dir contains a renderers folder which contains the Qt3D render 
>> plugins)
>> 
>> I hope that helps,
>> 
>> Paul
>> 
>> On 2/15/21 11:03 AM, Daniel Patel wrote:
>>> I have compiled qt6.1 from source which works and now I am trying to 
>>> compile qt3d also from source by downloading from 
>>> https://download.qt.io/official_releases/additional_libraries/qt3d/6.0/6.0.0/
>>>  and following the qmake instructions from: 
>>> https://www.kdab.com/getting-your-3d-ready-for-qt-6/
>>> 
>>> I first tried to download and compile qt3d-everywhere-src-6.0.1 but got an 
>>> error about missing zlib.h. Instead of trying to fix this I quickly instead 
>>> tried with qt3d-everywhere-src-6.0.0 and this compiled fine.
>>> However it only compiled debug dlls and not release dlls. I tried to do 
>>> nmake all and nmake release but the latter gave the error "NMAKE : fatal 
>>> error U1073: don't know how to make 
>>> 'C:\qtsrc\qt61\qt5\qtbase\lib\Qt6Gui.lib'"
>>> 
>>> I then decided to try out the debug build. First I noticed that the qt3d 
>>> dlls didnt seem to have been copied over to the correct folder when I did 
>>> nmake install. So I copied them over manually and then started 
>>> basicshapes-cpp.exe, but this showed the runtime error: Unable to find 
>>> renderer plugin for opengl.
>>> Any hints for what to do?
>>> 
>>> Best
>>> Daniel 
>>> 
>>> 
>>> ___
>>> Interest mailing list
>>> 
>>> Interest@qt-project.org
>>> https://lists.qt-project.org/listinfo/interest
>> -- 
>> Paul Lemire | 
>> paul.lem...@kdab.com
>>  | Senior Software Engineer
>> KDAB (France) S.A.S., a KDAB Group company
>> Tel: France +33 (0)4 90 84 08 53, 
>> http://www.kdab.fr
>> 
>> KDAB - The Qt, C++ and OpenGL Experts
>> 
> -- 
> Paul Lemire | 
> paul.lem...@kdab.com
>  | 

Re: [Interest] Qt3D widget

2020-09-01 Thread Mike Krus via Interest
Hi

Qt 3D source code has an example of how to use render capture in the manual 
tests.

However this is probably not the right way to do it as 1/ it would require 
another FBO on top of the one QOpenGLWidget uses already; 2/ it transfers the 
image to the CPU which is not needed here.

Think the way to do it is to do something similar to what is done for Scene3D:
- setup Qt 3D engine to be in manual mode (rather than using the simulation 
loop)
  by calling QAspectEngine::setRunMode(QAspectEngine::Manual)
- use QOpenGLWidget and in the paintGL method call QAspectEngine::processFrame()
  to have Qt 3D draw

There’s of course lots of other stuff to setup. Might need a dummy offscreen 
surface to handle sizing, handling of the context, and a fair amount more.

Mike

> On 1 Sep 2020, at 16:51, Florian Blume  wrote:
> 
> Hi,
> 
> I'm trying to implement a Qt3D widget since createWindowContainer is not
> suitable for me (always draws the Qt3DWindow on top of everything).
> I've already asked a Stackverflow question
> (https://stackoverflow.com/questions/63686309/use-qt3d-offscreen-rendered-texture-in-opengl)
> because I ran into
> several issues trying to display an offscreen texture that I render to
> with Qt3D in a QOpenGLWidget (it simply doesn't display anything).
> 
> Has anyone some other solution regarding a Qt3D widget?
> 
> Best regards,
> Florian
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts




smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt3D performance, and development resources

2020-04-14 Thread Mike Krus via Interest
Hi Charlie


> On 14 Apr 2020, at 16:51, Charles Martin  wrote:
> 
> I’ve been migrating a C++ Coin/Quarter project to Qt3D.
Fun. A long time since I used Coin3d. Keep meaning to port it’s scxml based 
camera controller and the manipulators to qt3d.

> I’m doing this on a newer iMac/Catalina. The graphics performance seems 
> unacceptable. A simple display of 3600 line segments takes about 5 seconds to 
> render and 30k segments takes >30 seconds. 
Can you explain how the scene graph is structured? Is each line segment a 
separate entity plus its components? Or just a single entity?

If each line is an object then I would totally expect the kind of performance 
you are getting as each object will result is a draw call. That number of draw 
calls alone will kill performance. 
 
> When the rendering is started, Qt puts out this warning message:
> qt.qpa.openglcontext: Could not create NSOpenGLContext with shared context, 
> falling back to unshared context.
That is odd. Could you explain how you are setting up your window?

> I’m new to Qt3D, and there is a good chance that I’m doing something wrong.
> 
> My questions:
> 
>  - Shouldn't I see better performance, and what can I try to improve that? 
> Does the warning message identify the problem? 
I would say it’s either the number of objects or indeed the fact that context 
are not shared (resulting in lots of context switches). 

Qt3d 5.15 ships which new performance tracking features that may help you 
investigate. See https://www.kdab.com/debugging-profiling-qt-3d-apps/

> - Where can I find more examples, tutorials and introductory information? 
> There are only two C++ examples on the Qt website, and both of these are very 
> simple. The Qt docs are very limited and incomplete.
Qt 3D itself ships with a number of examples. If you look at the Qt 3D source 
code, there’s a number of manual tests which may be of interest. 

KDAB’s GitHub has a qt3d sample project which has other examples, though they 
may be a bit outdated. 

>  - Is there a community of C++ Qt3D developers? Most online material was 
> produced by KADB, is 4 years or older, and focuses on QML. Where are the C++ 
> users?
We are here :)

Please note that although many exemples are in qml, they are still relevant for 
your use case as the APIs are nearly identical. 

> I’m trying to get some traction with this product, and any guidance is really 
> appreciated.
Feel free to get in touch if you need more help. 

Mike

> Thanks,
> Charlie
> 
> 
> 
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] [Qt3D] Transform feedback

2020-02-22 Thread Mike Krus via Interest
Hi

transform feedback is currently not supported by Qt3D’s API. It’s an 
interesting idea though, was wondering quite recently what the API may look 
like, there’s lots of things to setup to control which data should be captured 
and where it should go.

Depending on what you’re doing, you may be better off using compute shaders 
which are fully supported.


Mike

> On 20 Feb 2020, at 12:55, Léo Adam  wrote:
> 
> Hi,
> 
> I am currently working in a medical imaging team on 3D rendering with Qt3D.
> 
> That's why I would need to perform transform feedback, but after looking on 
> internet and in the documentation I didn't find anything.
> 
> So I was wondering if there were any way to do transform feedback in the Qt3D 
> API.
> 
> Thank you,
> 
> Léo Adam.
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts




smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] [Qt3D] Assertion in QAbstractAspect when inserting entity from plugin DLL

2020-02-07 Thread Mike Krus via Interest
Hi

I can’t say I’ve across such an error before. Can you get a call stack? If you 
set a conditional break point at the assert (based on metaObj being null) then 
it might provide some insight?

Feel free to report it as a bug,

Mike

> On 7 Feb 2020, at 13:52, Volker Enderlein  
> wrote:
> 
> Hello,
> 
> I am facing an error since Qt 5.14 (5.14.0 and 5.14.1) that did not show up 
> in previous versions (tested Qt 5.13.2 and before)
> 
> It is a huge engineering application and I did not manage it up to now to 
> reduce it to a small sample that shows the behaviour.
> 
> When interactively inserting a 3D QEntity (a custom geometry derived from 
> QEntity containing a QGeometryRenderer and some QTransform nodes) from a 
> plugin DLL (created with C++) I am greeted by the following assertion:
> 
> ---
> Microsoft Visual C++ Runtime Library
> ---
> Debug Error!
> 
> Program: C:\Qt\5.14.1\msvc2017_64\bin\Qt5Cored.dll
> Module: 5.14.1
> File: aspects\qabstractaspect.cpp
> Line: 213
> 
> ASSERT: "metaObj" in file aspects\qabstractaspect.cpp, line 213
> 
> (Press Retry to debug the application)
> 
> And the application does not display the graphics component inserted. Other 
> components are shown. I already inspected the output of the logging 
> categories for Qt3D and our plugin DLL but did not succeed up to now in 
> finding the reason for this behaviour.
> 
> Did anyone were facing similar regressions when updating a Qt3D based 
> application Qt 5.14?
> 
> Any help is very much appreciated.
> 
> Cheers, Volker
> 
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts




smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] OpenCV + Qt iOS: Wrong JPEG library version: library is 62, caller expects 80

2020-01-22 Thread Mike Krus via Interest
mine, for similar issues using GDAL, was to build everything from source, zlib, 
png, jpeg, tiff, gdal, qt
(making sure you select external jpeg/png for the later).
It’s a pain (and super time consuming) but all due to static linking.


Mike

> On 22 Jan 2020, at 13:19, Pierre-Yves Siret  wrote:
> 
> 
> 
> Le mer. 22 janv. 2020 à 01:29, Jason H  a écrit :
> Does anyone know how to handle this? I'm not sure who is using which version.
> What I did: linked OpenCV into an iOS Qt app. Tape a picture and onImageSaved 
> handler, set an Image element source property to "file://"+path, then it 
> crashes immediately.
> Works fine in Android.
> 
> My workaround a few years ago was to compile OpenCV without jpeg support. 
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts




smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Solidworks and QML

2019-03-29 Thread Mike Krus via Interest
Hi

that should be fine. With Kuesa, you should be able to access parts by name, 
get their transform component, and apply all the changes you want from qml.

Mike

> On 29 Mar 2019, at 17:15, Colin Worth  wrote:
> 
> Hi Mike,
> 
>   Thanks for the help. Will look into those two options. I need the six 
> animation inputs (a-f) to be freely controllable by the user, for example: 
> translate subpart 1 by amount a and rotate by amount b, rotate subpart 2 by 
> c, etc... More like a video game, less like a presentation.
> 
> Cheers,
> Colin
> 
>> On Mar 29, 2019, at 12:47 PM, Mike Krus  wrote:
>> 
>> Hi Colin
>> 
>> disclaimer: I’m not a SolidWorks user. But it looks like the latest version 
>> can export glTF 2 files?
>> 
>> You could then use Kuesa https://github.com/KDAB/kuesa to load the file in 
>> Qt 3D and use simple
>> qml bindings to access the parts of the file. Assuming the exporter from 
>> SolidWorks correctly 
>> exports animations, these can be triggered also.
>> 
>> If animations need to be created in Blender, then the gltfExporter will 
>> definitely export them 
>> properly, along with cameras, materials, etc.
>> 
>> It’s usually much easier to create nice looking animations using interactive 
>> tools rather than
>> hard coding them in QML.
>> 
>> Kuesa makes is it really easy to import rich scenes authored in Blender, 3DS 
>> Max or other
>> tools that support glTF 2.
>> 
>> Hope this helps,
>> Mike
>> 
>>> On 29 Mar 2019, at 15:45, Colin Worth  wrote:
>>> 
>>> Looking for help from someone who’s worked with 3D meshes in Qt qml. I am 
>>> trying to move a 3D object created in solid works into a Qt qml app. The 
>>> object has six motion-inputs, ie numbers, for six transforms that animate 
>>> the object’s sub-parts. Right now I'm importing a Solidworks VRML file into 
>>> into Blender, and using a Blender Qml plugin to generate qml files for each 
>>> sub-part. This works, but it takes a lot of work to define the animations. 
>>> You have to identify all the relevant coordinates and directions for each 
>>> sub-part by clicking around in Blender, then use algebra to figure out each 
>>> transformation matrix.
>>> 
>>> Wondering if there is a better way to approach it.
>>> 
>>> ___
>>> Interest mailing list
>>> Interest@qt-project.org
>>> https://lists.qt-project.org/listinfo/interest
>> 
>> —
>> Mike Krus | mike.k...@kdab.com | Senior Software Engineer
>> KDAB (UK) Ltd., a KDAB Group company
>> Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
>> KDAB - The Qt Experts, C++, OpenGL Experts
>> 

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts

___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Solidworks and QML

2019-03-29 Thread Mike Krus via Interest
Hi Colin

disclaimer: I’m not a SolidWorks user. But it looks like the latest version can 
export glTF 2 files?

You could then use Kuesa https://github.com/KDAB/kuesa to load the file in Qt 
3D and use simple
qml bindings to access the parts of the file. Assuming the exporter from 
SolidWorks correctly 
exports animations, these can be triggered also.

If animations need to be created in Blender, then the gltfExporter will 
definitely export them 
properly, along with cameras, materials, etc.

It’s usually much easier to create nice looking animations using interactive 
tools rather than
hard coding them in QML.

Kuesa makes is it really easy to import rich scenes authored in Blender, 3DS 
Max or other
tools that support glTF 2.

Hope this helps,
Mike

> On 29 Mar 2019, at 15:45, Colin Worth  wrote:
> 
> Looking for help from someone who’s worked with 3D meshes in Qt qml. I am 
> trying to move a 3D object created in solid works into a Qt qml app. The 
> object has six motion-inputs, ie numbers, for six transforms that animate the 
> object’s sub-parts. Right now I'm importing a Solidworks VRML file into into 
> Blender, and using a Blender Qml plugin to generate qml files for each 
> sub-part. This works, but it takes a lot of work to define the animations. 
> You have to identify all the relevant coordinates and directions for each 
> sub-part by clicking around in Blender, then use algebra to figure out each 
> transformation matrix.
> 
> Wondering if there is a better way to approach it.
> 
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

—
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts

___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt3D setting LineWidth per GeometryRenderer/Entity

2019-02-06 Thread Mike Krus via Interest
Hi

you should be able to control that using a  QLineWidth render state. And yes, 
that would require custom material or frame graph.

The raycasting-qml manual test that ships with Qt3D shows an example of 
creating a simple flat shading material for lines, would be easy to add line 
width control to that…


Mike


> On 6 Feb 2019, at 08:20, Volker Enderlein  
> wrote:
> 
> Hi all,
> 
> 
> is it possible to set the LineWidth of a GeometryRenderer of primitive tpye 
> Lines or do I need a Custom Material/Effect/FrameGraph node to achieve this?
> 
> Thanks for enlightening.
> 
> 
> Cheers, Volker
> 
> -- 
> 
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

--
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts



smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt3D setting LineWidth per GeometryRenderer/Entity

2019-02-06 Thread Mike Krus via Interest
Hi

you should be able to control that using a  QLineWidth render state. And yes, 
that would require custom material or frame graph.

The raycasting-qml manual test that ships with Qt3D shows an example of 
creating a simple flat shading material for lines, would be easy to add line 
width control to that…


Mike


> On 6 Feb 2019, at 08:20, Volker Enderlein  
> wrote:
> 
> Hi all,
> 
> 
> is it possible to set the LineWidth of a GeometryRenderer of primitive tpye 
> Lines or do I need a Custom Material/Effect/FrameGraph node to achieve this?
> 
> Thanks for enlightening.
> 
> 
> Cheers, Volker
> 
> -- 
> 
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

--
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts



smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt3D viewAll/viewEntity

2019-02-06 Thread Mike Krus via Interest
Hi

it’s mostly an oversight. The current calculations are only valid for 
perspective projection but it would possible to add separate code path for 
orthogonal projection. Not sure about the generalised project matrix…

Please file a JIRA ticket if it’s something you’re interested in.

Of course, contributions are more than welcome :)


Mike

> On 6 Feb 2019, at 08:17, Volker Enderlein  
> wrote:
> 
> Hi all,
> 
> why does the viewAll and viewEntity commands of QCamera only work in 
> PerspectiveProjection type?
> 
> Thanks for enlightening.
> 
> Cheers, Volker
> 
> -- 
> 
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

--
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts



smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Qt3D: Rendering issues with custom effects

2019-01-09 Thread Mike Krus via Interest
Hi

any chance you could try a more recent version? Lots of fixes since then…


Mike

> On 9 Jan 2019, at 10:59, Volker Enderlein  
> wrote:
> 
> Hi,
> 
> 
> 
> I am facing some rendering issues with custom effects in Qt3d. To mark some 
> of the entities selected I replace the existing material effect of an entity 
> with a newly created instance of a wireframe effect. When using the 
> robustwireframe shaders sometimes (but not always, it does not seem to be 
> reproducible) on some entities the underlying color (phong shading model) is 
> not set properly. 
> 
> I tried different shaders (also tried to set the fragment color directly) but 
> the result does not change: sometimes I see those rendering issues. 
> 
> And in some cases the following message is written to the console: 
> 
> QPainter::begin: Paint device returned engine == 0, type: 3
> QPainter::setCompositionMode: Painter not active
> QPainter::end: Painter not active, aborted
> 
> So I'm guessing, setting the custom QEffect causes some issues.
> 
> My question is: Should I avoid creating many instances of a custom wireframe 
> effect and reuse one instance for all selected entities or should I create a 
> separate instance for every entity (material)?
> 
>  
> 
> The left part of the image shows the wrong behaviour, the right part is the 
> expected rendering. 
> 
> Platform specs: Windows 7 x64, Visual Studio 2015, Qt 5.10.0, Qt3D 
> 
> Graphics specs: NVidia GeForce GTX 750 Ti/PCIe/SSE2, OpenGL 4.6.0 NVIDIA 
> 391.35
> 
> 
> 
> The definition of the effect is as follows:
> 
> 
> 
> WireFrameEffect::WireFrameEffect(Qt3DCore::QNode* parent/* = nullptr*/)
> : Qt3DRender::QEffect(parent)
> {
> addParameter(new Qt3DRender::QParameter(QStringLiteral("ka"), 
> QVector4D(0.1f, 0.1f, 0.1f, 1.0f)));
> addParameter(new Qt3DRender::QParameter(QStringLiteral("kd"), 
> QVector4D(0.7f, 0.7f, 0.7f, 1.0f)));
> addParameter(new Qt3DRender::QParameter(QStringLiteral("ks"), 
> QVector4D(0.95f, 0.95f, 0.95f, 1.0f)));
> addParameter(new Qt3DRender::QParameter(QStringLiteral("ke"), 
> QVector4D(0.0f, 0.0f, 0.0f, 1.0f)));
> addParameter(new Qt3DRender::QParameter(QStringLiteral("shininess"), 
> 128.0f));
> 
> addParameter(new 
> Qt3DRender::QParameter(QStringLiteral("light.position"), QVector4D(0.0f, 
> 0.0f, 0.0f, 1.0f)));
> addParameter(new 
> Qt3DRender::QParameter(QStringLiteral("light.intensity"), QVector3D(1.0f, 
> 1.0f, 1.0f)));
> addParameter(new Qt3DRender::QParameter(QStringLiteral("line.width"), 
> 1.0f));
> addParameter(new Qt3DRender::QParameter(QStringLiteral("line.color"), 
> QVector4D(1.0f, 1.0f, 1.0f, 1.0f)));
> 
> auto technique = new Qt3DRender::QTechnique;
> {
> auto graphicsApiFilter = technique->graphicsApiFilter();
> 
> graphicsApiFilter->setApi(Qt3DRender::QGraphicsApiFilter::Api::OpenGL);
> 
> graphicsApiFilter->setProfile(Qt3DRender::QGraphicsApiFilter::OpenGLProfile::CoreProfile);
> graphicsApiFilter->setMajorVersion(3);
> graphicsApiFilter->setMinorVersion(1);
> 
> auto filterKey = new Qt3DRender::QFilterKey;
> filterKey->setName(QStringLiteral("renderingStyle"));
> filterKey->setValue(QStringLiteral("forward"));
> technique->addFilterKey(filterKey);
> 
> auto renderPass = new Qt3DRender::QRenderPass;
> {
> auto shaderProgram = new Qt3DRender::QShaderProgram;
> 
> shaderProgram->setVertexShaderCode(shaderProgram->loadSource(QUrl(QStringLiteral("qrc:/shaders/robustwireframe.vert";
> 
> shaderProgram->setGeometryShaderCode(shaderProgram->loadSource(QUrl(QStringLiteral("qrc:/shaders/robustwireframe.geom";
> 
> shaderProgram->setFragmentShaderCode(shaderProgram->loadSource(QUrl(QStringLiteral("qrc:/shaders/robustwireframe.frag";
> renderPass->setShaderProgram(shaderProgram);
> }
> technique->addRenderPass(renderPass);
> }
> addTechnique(technique);
> }
> 
> 
> Thanks in advance,
> 
> Cheers Volker
> 
> -- 
> 
> ___
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest

--
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts



smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest


Re: [Interest] Sample Code for Apple TV and Apple Watch Qt Garage demos at Qt World Summit 2016

2018-10-18 Thread Mike Krus via Interest
Apple Watch’s public API does not support UIKit so there’s no QPA plugin 
available. As Jake's demo shows, qtcore works fine for low level work like 
networking, but the UI must be done using native toolkits.


tvOS works fine. Widgets don’t build by default but can be enabled (they are 
unusable though).
Main issue (including for QtQuick) is due to how input works with the 
controller. Never got around to implementing some generic solution.


Mike

> On 18 Oct 2018, at 14:13, Jeffrey Brendecke  
> wrote:
> 
> 
> 
>> On Oct 17, 2018, at 19:24, Christophe THOMAS  wrote:
>> 
>> Hello,
>> 
>> Pretty interested too in having some qt code running on an Apple Watch. My 
>> current understanding is that displaying something is hard and anyway 
>> qwidget and qml is not feasible?
>> 
>> Thx
>> 
>> Christophe
>> 
>> Le 17 oct. 2018 à 14:38, Jeffrey Brendecke  a 
>> écrit :
>> 
> Hello Christophe,
> 
> I don't know about widgets, but it is possible for a QML application to run 
> on AppleTV. Like iOS, AppleTV is based on UIKit, and has a very large overlap 
> with what is available on iOS.
> 
> To do that you need to compile Qt for AppleTV. As far as I know, it is still 
> considered in Technical Preview, with all that is entailed with that 
> limitation. Additionally, there are Apple-imposed limitations regarding 
> storage on the device.
> 
> Navigation does not work with QML out of the box, so there is some work that 
> needs to be done there.
> 
> Here are some links that may be of help:
> http://blog.qt.io/blog/2017/01/30/whats-new-in-qt-on-apple-platforms/
> https://www.kdab.com/creating-qt-5-port-apple-tvos/
> https://wiki.qt.io/Support_for_iOS_and_tvOS
> 
> Also, there is the Qt example planets-qml. Take a look in the code. 
> Navigation and interaction with the Sliders is implemented using 
> QML/JavaScript. It's a little raw in its feel, but it does work. Ideally, the 
> swipe gestures would need to be trapped in Objective-C.
> 
> I have not tried QML on the AppleWatch, but the planets-qml sample has a 
> non-Qt working implementation that interacts with the main sample app. 
> WatchKit is not based on UIKit so there is no visual support as far as I 
> know, but Qt could potentially be used for business logic. Please check the 
> code in the planets-watchos directory of the sample planets-qml.
> 
> This link points to a comparative discussion of WatchKit:
> 
> https://nshipster.com/watchkit/
> 
> Jeffrey
> 
>>> 
>>> 
 On Oct 17, 2018, at 14:20, Mike Krus  wrote:
 
> 
> On 17 Oct 2018, at 12:52, Jeffrey Brendecke  
> wrote:
> 
> Would anyone know where I could find the sample code from these demos?
> 
> http://www.qtworldsummit.com/2016/discover-future-concepts-and-real-world-products-from-the-qt-garage/
> 
> Apple TV with Qt
> – Apps & Multiplayer Games on iOS, Apple TB and Android by V-play
> 
> iOS and watchOS with Qt
> – Displaying watch app controlling Qt 3D Planets over the local network
 I believe this one is part of actual qt3d, although I can’t remember for 
 sure if the patch was merged or not
 
 
 Mike
 
>>> 
>>> Thanks, Mike!
>>> 
>>> Yes, everything appears to be there in the planets-qml example.
>>> 
>>> Jeffrey
>>> ___
>>> Interest mailing list
>>> Interest@qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/interest

--
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts



smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Sample Code for Apple TV and Apple Watch Qt Garage demos at Qt World Summit 2016

2018-10-17 Thread Mike Krus via Interest


> On 17 Oct 2018, at 12:52, Jeffrey Brendecke  
> wrote:
> 
> Would anyone know where I could find the sample code from these demos?
> 
> http://www.qtworldsummit.com/2016/discover-future-concepts-and-real-world-products-from-the-qt-garage/
> 
> Apple TV with Qt
> – Apps & Multiplayer Games on iOS, Apple TB and Android by V-play
> 
> iOS and watchOS with Qt
> – Displaying watch app controlling Qt 3D Planets over the local network
I believe this one is part of actual qt3d, although I can’t remember for sure 
if the patch was merged or not


Mike


> 
> Sincerely,
> 
> Jeffrey Brendecke
> 
> Jeffrey Brendecke Software Services
> Alt-Tegel 6
> 13507 Berlin
> Germany
> 
> Tel: +49 151 4664-8751
> Fax: +49 30 4309-3316‬
> Email: jeffrey.brende...@gmail.com
> 
> VAT No: DE 301972289
> 
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

--
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts



smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] Does XCode 10 work for Qt iOS?

2018-09-24 Thread Mike Krus via Interest
We have come across this issue: https://forums.developer.apple.com/thread/107570



> On 24 Sep 2018, at 11:23, Artem Sidyakin  wrote:
> 
>> are you using QtQuickControls2?
> 
> Yes, although I haven’t tested all of them, only those in my apps.
> 
>> have you also tested to run apps on macOS?
> 
> Yes, no problems so far (except for the usual stuff with deleting build 
> folder/.qmake.stash). My Mac OS version is 10.13.6 (17G65). Planning to test 
> on Mojave today.
> 
> ---
> Artem Sidyakin
> 
>> On 24 Sep 2018, at 10:57, ekke  wrote:
>> 
>> great to hear.
>> are you using QtQuickControls2 ?
>> 
>> have you also tested to run apps on macOS ?
>> (read about problems with black screens running apps on macOS with Xcode 10)
>> 
>> ekke
>> Am 24.09.18 um 10:51 schrieb Artem Sidyakin:
>>> I’ve updated Xcode to version 10.0 (10A255) and my devices to iOS 12, and 
>>> everything seems to be fine with Qt 5.11.1 for iOS - I was running some 
>>> apps just yesterday with no problems.
>>> Can’t tell for Qt 5.9 though.
>>> 
>>> ---
>>> Artem Sidyakin
>>> 
 On 24 Sep 2018, at 10:07, Nikos Chantziaras  wrote:
 
 I have currently put the App Store update that wants to update my XCode 
 from 9 to 10 on hold, in fear of it breaking my Qt 5.9 iOS development 
 setup.
 
 Does anyone have any experience with that yet?
 
 ___
 Interest mailing list
 Interest@qt-project.org
 http://lists.qt-project.org/mailman/listinfo/interest
>>> ___
>>> Interest mailing list
>>> Interest@qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/interest
>> 
>> ___
>> Interest mailing list
>> Interest@qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
> 
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

--
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts



smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] How to load 3D scene with QSceneLoader

2018-09-13 Thread Mike Krus via Interest
Hi

that doesn’t look like a valid url you are loading there…
try QUrl(“file:///home/botond/Desktop/castle_on_hill.dae”) ?

Mike

> On 13 Sep 2018, at 18:24, Botond D  wrote:
> 
> Hi,
> 
> I've been struggling to load a 3D scene from a Collada (DAE) file. I've been 
> experimenting with the following piece of code:
> 
> Qt3DCore::QEntity *importScene()
> {
> // Root entity
> Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity;
> 
> auto importedScene = new Qt3DCore::QEntity(rootEntity);
> auto loader = new Qt3DRender::QSceneLoader;
> loader->setSource(QUrl("/home/botond/Desktop/castle_on_hill.dae"));
> QObject::connect(loader, ::QSceneLoader::statusChanged, [] 
> (Qt3DRender::QSceneLoader::Status s) {
> std::cout << "status: " << s << std::endl;
> });
> 
> Qt3DCore::QTransform *transform = new Qt3DCore::QTransform;
> transform->setScale3D(QVector3D(1.5, 1, 0.5));
> 
> importedScene->addComponent(loader);
> importedScene->addComponent(transform);
> 
> return rootEntity;
> }
> 
> However nothing is rendered and no status change is detected. What am I doing 
> wrong? What is the intended usage of `QSceneLoader`?
> 
> Thanks,
> Botond
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

--
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts



smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] QML vs Electron

2018-08-07 Thread Mike Krus via Interest


> On 7 Aug 2018, at 14:31, Nikos Chantziaras  wrote:
> 
> On 07/08/18 16:04, alexander golks wrote:
>> Am Tue, 7 Aug 2018 16:00:22 +0300
>> schrieb Nikos Chantziaras :
>>> On 07/08/18 01:19, Sylvain Pointeau wrote:
 On Mon, Aug 6, 2018 at 11:56 PM Giuseppe D'Angelo >>> > wrote:
> [...]
> Out of curiosity, what prevented you from going with LGPL Qt?
 
 On desktop it is clear but on mobile, there was no clear statement if we
 have the rights or not.
 Seems like LGPL is not friendly with the various stores.
>>> 
>>> It's fine on Android, since Qt for Android uses dynamic linking by
>>> default. On iOS you only get static linking right now, and I'm not sure
>>> if you can build Qt for iOS yourself and configure it for dynamic
>>> linking, and whether Apple now allows dynamically linked iOS apps. The
>>> solution of making re-linkable object files available for iOS to comply
>>> with the LGPL is not suitable for everyone. And it's a useless solution
>>> anyway, unless people jailbreak their Apple devices so that they can
>>> sideload apps. Even though it satisfies LGPL requirements on your part,
>>> it doesn't on Apple's part. So you end up in a situation where people
>>> can claim that Apple does not have the right to distribute your
>>> application. And that would still apply even if you used dynamic linking.
>>> 
>>> But in any case, Android seems fine when using LGPL libraries, since a)
>>> Qt is linked to dynamically, and b) Android officially supports sideloading.
>> One could also just deliver the closed source object files for relinking.
>> this satisfies LGPL, too, doesn't it?
> 
> It was already addressed in my post. It seems to satisfy LGPL requirements on 
> your part, but not on Apple's part (because they don't allow the re-linked 
> application to run due to their DRM.)
given all the appropriate project setup and compiled object code (.o, .a, even 
shared lib files), a user signed up to the free Apple Developer should in 
theory be able to link another version of Qt into a final executable, codesign 
it and run it on his device. Would be a real pain to setup and maintain though.

> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

--
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts



smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest


Re: [Interest] [Qt3d] Textures flickering

2018-07-29 Thread Mike Krus via Interest
Hi

hard to say from the short video, but it looks like you may have z fighting 
going on, two coinciding meshes and the lack on precision causing this 
flickering…

Mike

> On 29 Jul 2018, at 14:58, Oleg Evseev  wrote:
> 
> Hi all,
> 
> When I load big models with help QSceneLoader in assimp-cpp test example (or 
> small models but move camera far away from object) textures start flickering:
> https://youtu.be/5FUOWc412JE
> 
> How to fix that?
> Thanks in advance for help.
> 
> ---
> With regards, Oleg
> ___
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

--
Mike Krus | mike.k...@kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company
Tel: UK Office +44 1625 809908   Mobile +44 7833 491941
KDAB - The Qt Experts, C++, OpenGL Experts



smime.p7s
Description: S/MIME cryptographic signature
___
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest