adjust random values

This commit is contained in:
2025-11-09 14:00:27 +01:00
parent 78088b2067
commit 0eebe09d47

View File

@@ -119,9 +119,9 @@ static void GenNewFractal() {
std::vector<glm::mat4> transformations(TRANSFORMATION_COUNT); std::vector<glm::mat4> transformations(TRANSFORMATION_COUNT);
for (std::size_t i = 0; i < transformations.size(); i++) { for (std::size_t i = 0; i < transformations.size(); i++) {
float scaleX = distrib(generator); float scaleX = distrib(generator) * 0.4 + 0.4;
float scaleY = distrib(generator); float scaleY = distrib(generator) * 0.4 + 0.4;
float scaleZ = distrib(generator); float scaleZ = distrib(generator) * 0.4 + 0.4;
float rotX = distrib(generator) * 2 * 3.14; float rotX = distrib(generator) * 2 * 3.14;
float rotY = distrib(generator) * 2 * 3.14; float rotY = distrib(generator) * 2 * 3.14;
@@ -134,22 +134,21 @@ static void GenNewFractal() {
float shearZX = distrib(generator) * 0.2f - 0.1f; float shearZX = distrib(generator) * 0.2f - 0.1f;
float shearZY = distrib(generator) * 0.2f - 0.1f; float shearZY = distrib(generator) * 0.2f - 0.1f;
float translateX = distrib(generator) * 2.0f - 1.0f; float translateX = distrib(generator) * 1.2f - 0.6f;
float translateY = distrib(generator) * 2.0f - 1.0f; float translateY = distrib(generator) * 1.2f - 0.6f;
float translateZ = distrib(generator) * 2.0f - 1.0f; float translateZ = distrib(generator) * 1.2f - 0.6f;
auto scale = glm::scale(glm::mat4(1), {scaleX, scaleY, scaleZ}); auto scale = glm::scale(glm::mat4(1), {scaleX, scaleY, scaleZ});
auto rotateX = glm::rotate(scale, rotX, {1, 0, 0}); auto rotateX = glm::rotate(scale, rotX, {1, 0, 0});
auto rotateY = glm::rotate(rotateX, rotY, {0, 1, 0}); auto rotateY = glm::rotate(rotateX, rotY, {0, 1, 0});
auto rotateZ = glm::rotate(rotateY, rotZ, {0, 0, 1}); auto rotateZ = glm::rotate(rotateY, rotZ, {0, 0, 1});
auto shear = glm::shear(rotateZ, {0, 0, 0}, {shearXY, shearXZ}, {shearYX, shearYZ}, {shearZX, shearZY}); auto shear = glm::shear(rotateZ, {0, 0, 0}, {shearXY, shearXZ}, {shearYX, shearYZ}, {shearZX, shearZY});
auto translate = glm::translate(shear, {translateX, translateY, translateZ}); auto translate = glm::translate(rotateZ, {translateX, translateY, translateZ});
transformations[i] = translate; transformations[i] = translate;
} }
glUseProgram(s_ComputeShader); ApplyTransforms(transformations);
glUniformMatrix4fv(1, transformations.size(), false, glm::value_ptr(transformations[0]));
} }
static void KeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods) { static void KeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods) {