diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-08-26 14:33:27 +0100 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2016-10-10 05:41:28 +0000 |
commit | cdbe66008112620b5b7e6c747fe5fda9a7f67f28 (patch) | |
tree | 050a912b69e512d5a0d567df4d29d0548888853c | |
parent | ebc0725f9df464a9f6addfc54e72e17ce3fe8091 (diff) | |
download | qt3d-cdbe66008112620b5b7e6c747fe5fda9a7f67f28.tar.gz |
Put uv seam on inner ring of torus
More common way to unwrap a torus as the seam is less visible.
Change-Id: I4778766ad613162986955de8623def5e1e33a8ec
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
-rw-r--r-- | src/extras/geometries/qtorusgeometry.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/extras/geometries/qtorusgeometry.cpp b/src/extras/geometries/qtorusgeometry.cpp index 09a69a45a..65367886f 100644 --- a/src/extras/geometries/qtorusgeometry.cpp +++ b/src/extras/geometries/qtorusgeometry.cpp @@ -75,7 +75,7 @@ QByteArray createTorusVertexData(double radius, double minorRadius, for (int side = 0; side < sides; ++side) { const float v = side * sideFactor; - const float cv = qCos( v ); + const float cv = qCos( v + M_PI ); const float sv = qSin( v ); const float r = (radius + minorRadius * cv); @@ -111,12 +111,12 @@ QByteArray createTorusIndexData(int rings, int sides) const int nextRingStart = (ring + 1) * sides; for (int side = 0; side < sides; ++side) { const int nextSide = (side + 1) % sides; - *indexPtr++ = (ringStart + side); - *indexPtr++ = (nextRingStart + side); - *indexPtr++ = (nextRingStart + nextSide); *indexPtr++ = ringStart + side; + *indexPtr++ = ringStart + nextSide; + *indexPtr++ = nextRingStart + side; + *indexPtr++ = ringStart + nextSide; *indexPtr++ = nextRingStart + nextSide; - *indexPtr++ = (ringStart + nextSide); + *indexPtr++ = nextRingStart + side; } } |