diff options
Diffstat (limited to 'examples/opengl/qopenglwidget/glwidget.cpp')
-rw-r--r-- | examples/opengl/qopenglwidget/glwidget.cpp | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/examples/opengl/qopenglwidget/glwidget.cpp b/examples/opengl/qopenglwidget/glwidget.cpp index 21d922d713..40a1258dd5 100644 --- a/examples/opengl/qopenglwidget/glwidget.cpp +++ b/examples/opengl/qopenglwidget/glwidget.cpp @@ -54,13 +54,17 @@ #include <QOpenGLShaderProgram> #include <QOpenGLTexture> #include <QCoreApplication> -#include <math.h> +#include <qmath.h> #include "mainwindow.h" #include "bubble.h" const int bubbleNum = 8; +#ifndef GL_SRGB8_ALPHA8 +#define GL_SRGB8_ALPHA8 0x8C43 +#endif + GLWidget::GLWidget(MainWindow *mw, bool button, const QColor &background) : m_mainWindow(mw), m_showBubbles(true), @@ -75,6 +79,8 @@ GLWidget::GLWidget(MainWindow *mw, bool button, const QColor &background) m_background(background) { setMinimumSize(300, 250); + if (QCoreApplication::arguments().contains(QStringLiteral("--srgb"))) + setTextureFormat(GL_SRGB8_ALPHA8); } GLWidget::~GLWidget() @@ -449,21 +455,21 @@ void GLWidget::createGeometry() extrude(x4, y4, y4, x4); extrude(y4, x4, y3, x3); - const qreal Pi = 3.14159f; const int NumSectors = 100; + const qreal sectorAngle = 2 * qreal(M_PI) / NumSectors; for (int i = 0; i < NumSectors; ++i) { - qreal angle1 = (i * 2 * Pi) / NumSectors; - qreal x5 = 0.30 * sin(angle1); - qreal y5 = 0.30 * cos(angle1); - qreal x6 = 0.20 * sin(angle1); - qreal y6 = 0.20 * cos(angle1); - - qreal angle2 = ((i + 1) * 2 * Pi) / NumSectors; - qreal x7 = 0.20 * sin(angle2); - qreal y7 = 0.20 * cos(angle2); - qreal x8 = 0.30 * sin(angle2); - qreal y8 = 0.30 * cos(angle2); + qreal angle = i * sectorAngle; + qreal x5 = 0.30 * sin(angle); + qreal y5 = 0.30 * cos(angle); + qreal x6 = 0.20 * sin(angle); + qreal y6 = 0.20 * cos(angle); + + angle += sectorAngle; + qreal x7 = 0.20 * sin(angle); + qreal y7 = 0.20 * cos(angle); + qreal x8 = 0.30 * sin(angle); + qreal y8 = 0.30 * cos(angle); quad(x5, y5, x6, y6, x7, y7, x8, y8); |