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.
(cherry picked from commit baf3528af5
)
Change-Id: Ib9be20f836c7e985b850966c3bdd620cbeac246a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
committed by
Eike Ziller
parent
e3d12e659a
commit
85e9b5e033
@@ -159,14 +159,22 @@ QSSGRenderGraphObject *CameraGeometry::updateSpatialNode(QSSGRenderGraphObject *
|
||||
QVector3D maxBounds;
|
||||
fillVertexData(vertexData, indexData, minBounds, maxBounds);
|
||||
|
||||
geometry->setStride(12);
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 1, 0)
|
||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
||||
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::IndexSemantic, 0,
|
||||
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->setIndexData(indexData);
|
||||
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
||||
geometry->setBounds(minBounds, maxBounds);
|
||||
|
||||
return node;
|
||||
|
@@ -112,11 +112,17 @@ QSSGRenderGraphObject *GridGeometry::updateSpatialNode(QSSGRenderGraphObject *no
|
||||
QByteArray vertexData;
|
||||
fillVertexData(vertexData);
|
||||
|
||||
geometry->setStride(12);
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 1, 0)
|
||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
||||
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
||||
geometry->setStride(12);
|
||||
geometry->setVertexData(vertexData);
|
||||
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));
|
||||
auto vertexPtr = reinterpret_cast<QVector3D *>(vertexData.data());
|
||||
|
@@ -90,14 +90,22 @@ QSSGRenderGraphObject *LightGeometry::updateSpatialNode(QSSGRenderGraphObject *n
|
||||
QVector3D maxBounds;
|
||||
fillVertexData(vertexData, indexData, minBounds, maxBounds);
|
||||
|
||||
geometry->setStride(12);
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 1, 0)
|
||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
||||
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::IndexSemantic, 0,
|
||||
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->setIndexData(indexData);
|
||||
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
||||
geometry->setBounds(minBounds, maxBounds);
|
||||
|
||||
return node;
|
||||
|
@@ -99,11 +99,17 @@ QSSGRenderGraphObject *LineGeometry::updateSpatialNode(QSSGRenderGraphObject *no
|
||||
dataPtr[4] = m_endPos[1];
|
||||
dataPtr[5] = m_endPos[2];
|
||||
|
||||
geometry->setStride(12);
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 1, 0)
|
||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
||||
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
||||
geometry->setStride(12);
|
||||
geometry->setVertexData(vertexData);
|
||||
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);
|
||||
|
||||
return node;
|
||||
|
@@ -211,14 +211,22 @@ QSSGRenderGraphObject *SelectionBoxGeometry::updateSpatialNode(QSSGRenderGraphOb
|
||||
appendVertexData(QMatrix4x4(), vertexData, indexData, minBounds, maxBounds);
|
||||
}
|
||||
|
||||
geometry->setStride(12);
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 1, 0)
|
||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::PositionSemantic, 0,
|
||||
QSSGRenderGeometry::Attribute::ComponentType::F32Type);
|
||||
geometry->addAttribute(QSSGRenderGeometry::Attribute::IndexSemantic, 0,
|
||||
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->setIndexData(indexData);
|
||||
geometry->setPrimitiveType(QSSGRenderGeometry::Lines);
|
||||
geometry->setBounds(minBounds, maxBounds);
|
||||
|
||||
m_bounds = QSSGBounds3(minBounds, maxBounds);
|
||||
|
Reference in New Issue
Block a user