Interactive Mandelbrot viewer with Qt and OpenGL.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
671 B

3 years ago
#include "../headers/Mandelbrot.h"
3 years ago
void Mandelbrot::init() {
3 years ago
initializeOpenGLFunctions();
}
void Mandelbrot::draw(GLuint vao, QOpenGLShaderProgram& shader) {
glClear(GL_COLOR_BUFFER_BIT);
shader.bind();
setShaderValues(shader);
glBindVertexArray(vao);
glDrawArrays(GL_QUADS, 0, 4);
glBindVertexArray(0);
3 years ago
}
void Mandelbrot::setShaderValues(QOpenGLShaderProgram &shader) {
shader.setUniformValue("origin", QVector2D(-1, 1));
shader.setUniformValue("size", QVector2D(2, 2));
shader.setUniformValue("iterationCount", iterations);
}
3 years ago
void Mandelbrot::zoom(double delta) {
3 years ago
scale *= delta;
}
3 years ago
3 years ago
void Mandelbrot::setIterations(int value) {
iterations = value;
3 years ago
}
3 years ago
3 years ago