diff options
-rw-r--r-- | src/extras/3dtext/qtext3dgeometry.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/extras/3dtext/qtext3dgeometry.cpp b/src/extras/3dtext/qtext3dgeometry.cpp index 529c93b79..49db6e4a6 100644 --- a/src/extras/3dtext/qtext3dgeometry.cpp +++ b/src/extras/3dtext/qtext3dgeometry.cpp @@ -65,7 +65,7 @@ namespace Qt3DExtras { namespace { -using IndexType = unsigned short; +using IndexType = unsigned int; struct TriangulationData { struct Outline { @@ -190,7 +190,7 @@ void QText3DGeometryPrivate::init() m_normalAttribute->setCount(0); m_indexAttribute->setAttributeType(Qt3DRender::QAttribute::IndexAttribute); - m_indexAttribute->setVertexBaseType(Qt3DRender::QAttribute::UnsignedShort); + m_indexAttribute->setVertexBaseType(Qt3DRender::QAttribute::UnsignedInt); m_indexAttribute->setBuffer(m_indexBuffer); m_indexAttribute->setCount(0); @@ -328,6 +328,9 @@ void QText3DGeometryPrivate::update() const int end = data.outlines[i].end; const int verticesIndexBegin = verticesIndex; + if (begin == end) + continue; + QVector3D prevNormal = QVector3D::crossProduct( vertices[data.outlineIndices[end - 1] + numVertices].position - vertices[data.outlineIndices[end - 1]].position, vertices[data.outlineIndices[begin]].position - vertices[data.outlineIndices[end - 1]].position).normalized(); |