summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-08-26 14:33:27 +0100
committerJani Heikkinen <jani.heikkinen@qt.io>2016-10-10 05:41:28 +0000
commitcdbe66008112620b5b7e6c747fe5fda9a7f67f28 (patch)
tree050a912b69e512d5a0d567df4d29d0548888853c
parentebc0725f9df464a9f6addfc54e72e17ce3fe8091 (diff)
downloadqt3d-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.cpp10
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;
}
}