Add more configs and implement weird power map thing

This commit is contained in:
Camden Dixie O'Brien
2025-01-18 22:24:46 +00:00
parent 9c903179cf
commit 6b593960b4
3 changed files with 56 additions and 26 deletions

33
main.c
View File

@@ -31,9 +31,13 @@
#error "Cannot define CPOW_DTHETA and POWRATE simulataneously"
#endif
#ifndef STARTSCALE
#define STARTSCALE 1.0
#endif
typedef struct {
float width, height;
#ifdef JULIA
#if defined(JULIA) || defined(THING)
struct {
float re, im;
} julia;
@@ -61,7 +65,7 @@ static const char *extensions[] = {
// Initial parameters
static params_t params = {
#ifdef JULIA
#if defined(JULIA) || defined(THING)
.julia = {
#ifdef JULIA_C_RE
.re = JULIA_C_RE,
@@ -82,12 +86,12 @@ static params_t params = {
},
#endif
#ifdef CPOW_DTHETA
.cpow = { .re = 2.0, .im = 0.0 },
.cpow = { .re = CPOW_START_RE, .im = CPOW_START_IM },
#endif
#ifdef POWRATE
.zpow = 2.0,
#endif
.scale = 1.0,
.scale = STARTSCALE,
};
static void
@@ -599,6 +603,7 @@ int main(void)
vkCmdBeginRenderPass(
cmd_buf, &render_pass_begin, VK_SUBPASS_CONTENTS_INLINE);
// Send parameters
vkCmdPushConstants(
cmd_buf, pipeline_layout, VK_SHADER_STAGE_FRAGMENT_BIT, 0,
sizeof(params), &params);
@@ -642,25 +647,25 @@ int main(void)
assert(result == VK_SUCCESS);
#ifdef JULIA_DTHETA
double complex julia = params.julia.re + I * params.julia.im;
julia *= julia_rotz;
params.julia.re = (float)creal(julia);
params.julia.im = (float)cimag(julia);
double complex julia = params.julia.re + I * params.julia.im;
julia *= julia_rotz;
params.julia.re = (float)creal(julia);
params.julia.im = (float)cimag(julia);
#endif
#ifdef ZOOMRATE
params.scale *= (1 - ZOOMRATE);
params.scale *= (1 - ZOOMRATE);
#endif
#ifdef CPOW_DTHETA
double complex cpow = params.cpow.re + I * params.cpow.im;
cpow *= cpow_rotz;
params.cpow.re = (float)creal(cpow);
params.cpow.im = (float)cimag(cpow);
double complex cpow = params.cpow.re + I * params.cpow.im;
cpow *= cpow_rotz;
params.cpow.re = (float)creal(cpow);
params.cpow.im = (float)cimag(cpow);
#endif
#ifdef POWRATE
params.zpow += POWRATE;
params.zpow += POWRATE;
#endif
}