forked from qt-creator/qt-creator
QmlPuppet: Fix custom 3D geometries for Qt 6.1
Private API puppet uses for custom 3D geometries has changed. Change-Id: Ie9f2052b04399db6f9643aba6319f6e95df1c15b Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
@@ -159,14 +159,22 @@ QSSGRenderGraphObject *CameraGeometry::updateSpatialNode(QSSGRenderGraphObject *
|
|||||||
QVector3D maxBounds;
|
QVector3D maxBounds;
|
||||||
fillVertexData(vertexData, indexData, minBounds, maxBounds);
|
fillVertexData(vertexData, indexData, minBounds, maxBounds);
|
||||||
|
|
||||||
|
geometry->setStride(12);
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(6, 1, 0)
|
||||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
||||||
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
||||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::IndexSemantic, 0,
|
geometry->addAttribute(QSSGRenderGeometry::Attribute::IndexSemantic, 0,
|
||||||
QSSGRenderGeometry::Attribute::ComponentType::U16Type);
|
QSSGRenderGeometry::Attribute::ComponentType::U16Type);
|
||||||
geometry->setStride(12);
|
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
||||||
|
#else
|
||||||
|
geometry->addAttribute(QSSGMesh::RuntimeMeshData::Attribute::PositionSemantic, 0,
|
||||||
|
QSSGMesh::Mesh::ComponentType::Float32);
|
||||||
|
geometry->addAttribute(QSSGMesh::RuntimeMeshData::Attribute::IndexSemantic, 0,
|
||||||
|
QSSGMesh::Mesh::ComponentType::UnsignedInt16);
|
||||||
|
geometry->setPrimitiveType(QSSGMesh::Mesh::DrawMode::Lines);
|
||||||
|
#endif
|
||||||
geometry->setVertexData(vertexData);
|
geometry->setVertexData(vertexData);
|
||||||
geometry->setIndexData(indexData);
|
geometry->setIndexData(indexData);
|
||||||
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
|
||||||
geometry->setBounds(minBounds, maxBounds);
|
geometry->setBounds(minBounds, maxBounds);
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
|
@@ -112,11 +112,17 @@ QSSGRenderGraphObject *GridGeometry::updateSpatialNode(QSSGRenderGraphObject *no
|
|||||||
QByteArray vertexData;
|
QByteArray vertexData;
|
||||||
fillVertexData(vertexData);
|
fillVertexData(vertexData);
|
||||||
|
|
||||||
|
geometry->setStride(12);
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(6, 1, 0)
|
||||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
||||||
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
||||||
geometry->setStride(12);
|
|
||||||
geometry->setVertexData(vertexData);
|
|
||||||
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
||||||
|
#else
|
||||||
|
geometry->addAttribute(QSSGMesh::RuntimeMeshData::Attribute::PositionSemantic, 0,
|
||||||
|
QSSGMesh::Mesh::ComponentType::Float32);
|
||||||
|
geometry->setPrimitiveType(QSSGMesh::Mesh::DrawMode::Lines);
|
||||||
|
#endif
|
||||||
|
geometry->setVertexData(vertexData);
|
||||||
|
|
||||||
int lastIndex = (vertexData.size() - 1) / int(sizeof(QVector3D));
|
int lastIndex = (vertexData.size() - 1) / int(sizeof(QVector3D));
|
||||||
auto vertexPtr = reinterpret_cast<QVector3D *>(vertexData.data());
|
auto vertexPtr = reinterpret_cast<QVector3D *>(vertexData.data());
|
||||||
|
@@ -90,14 +90,22 @@ QSSGRenderGraphObject *LightGeometry::updateSpatialNode(QSSGRenderGraphObject *n
|
|||||||
QVector3D maxBounds;
|
QVector3D maxBounds;
|
||||||
fillVertexData(vertexData, indexData, minBounds, maxBounds);
|
fillVertexData(vertexData, indexData, minBounds, maxBounds);
|
||||||
|
|
||||||
|
geometry->setStride(12);
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(6, 1, 0)
|
||||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
||||||
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
||||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::IndexSemantic, 0,
|
geometry->addAttribute(QSSGRenderGeometry::Attribute::IndexSemantic, 0,
|
||||||
QSSGRenderGeometry::Attribute::ComponentType::U16Type);
|
QSSGRenderGeometry::Attribute::ComponentType::U16Type);
|
||||||
geometry->setStride(12);
|
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
||||||
|
#else
|
||||||
|
geometry->addAttribute(QSSGMesh::RuntimeMeshData::Attribute::PositionSemantic, 0,
|
||||||
|
QSSGMesh::Mesh::ComponentType::Float32);
|
||||||
|
geometry->addAttribute(QSSGMesh::RuntimeMeshData::Attribute::IndexSemantic, 0,
|
||||||
|
QSSGMesh::Mesh::ComponentType::UnsignedInt16);
|
||||||
|
geometry->setPrimitiveType(QSSGMesh::Mesh::DrawMode::Lines);
|
||||||
|
#endif
|
||||||
geometry->setVertexData(vertexData);
|
geometry->setVertexData(vertexData);
|
||||||
geometry->setIndexData(indexData);
|
geometry->setIndexData(indexData);
|
||||||
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
|
||||||
geometry->setBounds(minBounds, maxBounds);
|
geometry->setBounds(minBounds, maxBounds);
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
|
@@ -99,11 +99,17 @@ QSSGRenderGraphObject *LineGeometry::updateSpatialNode(QSSGRenderGraphObject *no
|
|||||||
dataPtr[4] = m_endPos[1];
|
dataPtr[4] = m_endPos[1];
|
||||||
dataPtr[5] = m_endPos[2];
|
dataPtr[5] = m_endPos[2];
|
||||||
|
|
||||||
|
geometry->setStride(12);
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(6, 1, 0)
|
||||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
||||||
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
||||||
geometry->setStride(12);
|
|
||||||
geometry->setVertexData(vertexData);
|
|
||||||
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
||||||
|
#else
|
||||||
|
geometry->addAttribute(QSSGMesh::RuntimeMeshData::Attribute::PositionSemantic, 0,
|
||||||
|
QSSGMesh::Mesh::ComponentType::Float32);
|
||||||
|
geometry->setPrimitiveType(QSSGMesh::Mesh::DrawMode::Lines);
|
||||||
|
#endif
|
||||||
|
geometry->setVertexData(vertexData);
|
||||||
geometry->setBounds(m_startPos, m_endPos);
|
geometry->setBounds(m_startPos, m_endPos);
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
|
@@ -211,14 +211,22 @@ QSSGRenderGraphObject *SelectionBoxGeometry::updateSpatialNode(QSSGRenderGraphOb
|
|||||||
appendVertexData(QMatrix4x4(), vertexData, indexData, minBounds, maxBounds);
|
appendVertexData(QMatrix4x4(), vertexData, indexData, minBounds, maxBounds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
geometry->setStride(12);
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(6, 1, 0)
|
||||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
||||||
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
||||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::IndexSemantic, 0,
|
geometry->addAttribute(QSSGRenderGeometry::Attribute::IndexSemantic, 0,
|
||||||
QSSGRenderGeometry::Attribute::ComponentType::U16Type);
|
QSSGRenderGeometry::Attribute::ComponentType::U16Type);
|
||||||
geometry->setStride(12);
|
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
||||||
|
#else
|
||||||
|
geometry->addAttribute(QSSGMesh::RuntimeMeshData::Attribute::PositionSemantic, 0,
|
||||||
|
QSSGMesh::Mesh::ComponentType::Float32);
|
||||||
|
geometry->addAttribute(QSSGMesh::RuntimeMeshData::Attribute::IndexSemantic, 0,
|
||||||
|
QSSGMesh::Mesh::ComponentType::UnsignedInt16);
|
||||||
|
geometry->setPrimitiveType(QSSGMesh::Mesh::DrawMode::Lines);
|
||||||
|
#endif
|
||||||
geometry->setVertexData(vertexData);
|
geometry->setVertexData(vertexData);
|
||||||
geometry->setIndexData(indexData);
|
geometry->setIndexData(indexData);
|
||||||
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
|
||||||
geometry->setBounds(minBounds, maxBounds);
|
geometry->setBounds(minBounds, maxBounds);
|
||||||
|
|
||||||
m_bounds = QSSGBounds3(minBounds, maxBounds);
|
m_bounds = QSSGBounds3(minBounds, maxBounds);
|
||||||
|
Reference in New Issue
Block a user