From 7340f95ed69266b7cc249f8b5177ca808e31238d Mon Sep 17 00:00:00 2001 From: Benjamin Kraft Date: Sat, 5 Feb 2022 21:44:40 +0100 Subject: [PATCH] change iteration count to max iteration count naming in software --- Fragment.glsl | 8 ++++---- headers/Mandelbrot.h | 6 +++--- src/MainWindow.cpp | 28 ++++++++++++++-------------- src/Mandelbrot.cpp | 6 +++--- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Fragment.glsl b/Fragment.glsl index 8c157e1..9cbc9d2 100644 --- a/Fragment.glsl +++ b/Fragment.glsl @@ -1,7 +1,7 @@ #version 330 core out vec4 pixColor; -uniform int iterationCount; +uniform int maxIterationsCount; uniform float hueAdd; in vec2 complexPos; @@ -47,16 +47,16 @@ float mandelbrot(in vec2 c){ vec2 z = vec2(0, 0); float steps = 0; float escapeSquared = pow(1 << 8, 2); - while (steps < iterationCount && pow(z.x, 2) + pow(z.y, 2) < escapeSquared){ + while (steps < maxIterationsCount && pow(z.x, 2) + pow(z.y, 2) < escapeSquared){ z = m(z); ++steps; } - if (steps == iterationCount) + if (steps == maxIterationsCount) return 0.; float log_zn = log(z.x * z.x + z.y * z.y) / 2; float nu = log(log_zn / log(2)) / log(2); steps += 1 - nu; - float t = steps / iterationCount; + float t = steps / maxIterationsCount; return sqrt(t); } diff --git a/headers/Mandelbrot.h b/headers/Mandelbrot.h index 672b22c..7567e8f 100644 --- a/headers/Mandelbrot.h +++ b/headers/Mandelbrot.h @@ -11,14 +11,14 @@ public: void draw(); void updateAnimation(); void toggleAnimation(); - void setIterations(int); + void setMaxIterations(int); void translateRelative(QVector2D); void zoomRelative(int, QVector2D); void resizeRelative(QVector2D); bool initShader(); private: - int iterations = 0; - float hueAdd = 0.0; + int maxIterations = 0; + float hueAdd = 0; QVector2D origin {-2, -1}; QVector2D size {2, 2}; float zoomModifier = 1.05; diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 88b0ad4..f3e93d2 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -12,22 +12,22 @@ MainWindow::MainWindow(): outputWidget(OutputWidget(this)) { void MainWindow::buildUI() { resize(700, 700); - auto iterationsCaption = new QLabel("Iteration count: "); - auto iterationsLabel = new QLabel; - iterationsLabel->setFixedWidth(50); - iterationsLabel->setAlignment(Qt::AlignVCenter | Qt::AlignRight); - auto iterationsSlider = new QSlider(Qt::Horizontal); - iterationsSlider->setRange(5, 1000); + auto maxIterationsCaption = new QLabel("Max iteration count: "); + auto maxIterationsLabel = new QLabel; + maxIterationsLabel->setFixedWidth(50); + maxIterationsLabel->setAlignment(Qt::AlignVCenter | Qt::AlignRight); + auto maxIterationsSlider = new QSlider(Qt::Horizontal); + maxIterationsSlider->setRange(5, 1000); connect( - iterationsSlider, + maxIterationsSlider, &QSlider::valueChanged, this, - [iterationsLabel, this](int value) -> void { - this->outputWidget.getMandelbrot().setIterations(value); + [maxIterationsLabel, this](int value) -> void { + this->outputWidget.getMandelbrot().setMaxIterations(value); this->outputWidget.update(); - iterationsLabel->setNum(value); + maxIterationsLabel->setNum(value); }); - iterationsSlider->setValue(100); + maxIterationsSlider->setValue(100); auto saveInfo = new QLabel; auto saveButton = new QPushButton("Save high resolution image"); @@ -56,9 +56,9 @@ void MainWindow::buildUI() { }); auto controls = new QGridLayout; - controls->addWidget(iterationsCaption, 1, 1); - controls->addWidget(iterationsLabel, 1, 2); - controls->addWidget(iterationsSlider, 1, 3); + controls->addWidget(maxIterationsCaption, 1, 1); + controls->addWidget(maxIterationsLabel, 1, 2); + controls->addWidget(maxIterationsSlider, 1, 3); controls->addWidget(saveInfo, 2, 1, 1, 2); controls->addWidget(saveButton, 2, 3, 1, 1); controls->addWidget(animButton, 3, 1, 1, 3); diff --git a/src/Mandelbrot.cpp b/src/Mandelbrot.cpp index 87cbec7..8b5418a 100644 --- a/src/Mandelbrot.cpp +++ b/src/Mandelbrot.cpp @@ -39,7 +39,7 @@ bool Mandelbrot::initShader() { void Mandelbrot::setShaderValues() { shader.setUniformValue("origin", origin); shader.setUniformValue("size", size); - shader.setUniformValue("iterationCount", iterations); + shader.setUniformValue("maxIterationsCount", maxIterations); shader.setUniformValue("hueAdd", hueAdd); } @@ -52,8 +52,8 @@ void Mandelbrot::zoomRelative(int direction, QVector2D posRelative) { origin = newOrigin; } -void Mandelbrot::setIterations(int value) { - iterations = value; +void Mandelbrot::setMaxIterations(int value) { + maxIterations = value; } void Mandelbrot::translateRelative(QVector2D relative) {