Skip to content

Commit 0cb3303

Browse files
committed
added additional frame offset option and fixed iteration limits
1 parent 5597963 commit 0cb3303

File tree

3 files changed

+16
-7
lines changed

3 files changed

+16
-7
lines changed

default.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
image_width = 1920
22
image_height = 1080
3-
frames = 10
3+
frames = 9999
44
export = "raw"
55
glitch_tolerance = 0.000001
66
zoom_scale = 2.0
7-
auto_adjust_iterations = true
7+
auto_adjust_iterations = true
8+
approximation_order = 64
9+
frame_offset = 0

locations/threads_colour.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
real = "-1.47414176240993896848662071528158693194984033295350953280086668957218887059547144798782958583693228230313082538417736408312283756916583038548770140907148842507795182301203312327678867411139743734088820831422587016737770172651132123623347543560592366451320269312832570538759109480956462838749508907791843703924365245276567942898938125705618894029328612293147151908041951365498962465718017136637923540348122292958335790053092495783869799482899842041593944847198560523459306518247398734178583094840989359335916427349271969694638813455484795519139180535389178899499218726674005407958574308338167164971091115429523451479626131276956228048957227740597867681604973361307242906518836130901630810235591139999999999999999999"
22
imag = "1.837028624819189477865631515035097395323927302572629030865933104000355714583818892052507681177756076074900340375874325858424795164505875785998449146862924507042300051932135130891413370393327740037629084197582966724720858559206941967648864807892583328760554952794324657809197148266317196316651597885791947076110274629246850125745470256068262793065499915106947670845209696879646797896797942904780372999446765698282800418563469062689909330151614815763561772821921612271912492631000218876452296900861545848888915227426092699498959036990046882718777435775562966053647880616647866656164419540502287729221470963175939777275863084020159079375481684880087569411323863960416637609668567855099418820244664E-94"
3-
zoom = "8.6e508"
3+
zoom = "8.6e630"
44
iterations = 1544151

src/renderer.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ pub struct FractalRenderer {
2020
data_export: DataExport,
2121
start_render_time: Instant,
2222
remaining_frames: usize,
23+
frame_offset: usize,
2324
zoom_scale_factor: f64,
2425
center_reference: Reference,
2526
series_approximation: SeriesApproximation,
@@ -38,6 +39,7 @@ impl FractalRenderer {
3839
let approximation_order = settings.get_int("approximation_order").unwrap_or(0) as usize;
3940
let glitch_tolerance = settings.get_float("glitch_tolerance").unwrap_or(0.01);
4041
let remaining_frames = settings.get_int("frames").unwrap_or(1) as usize;
42+
let frame_offset = settings.get_int("frame_offset").unwrap_or(0) as usize;
4143
let zoom_scale_factor = settings.get_float("zoom_scale").unwrap_or(2.0);
4244
let display_glitches = settings.get_bool("display_glitches").unwrap_or(false);
4345
let auto_adjust_iterations = settings.get_bool("auto_adjust_iterations").unwrap_or(false);
@@ -77,6 +79,7 @@ impl FractalRenderer {
7779
data_export: DataExport::new(image_width, image_height, display_glitches, data_type),
7880
start_render_time: Instant::now(),
7981
remaining_frames,
82+
frame_offset,
8083
zoom_scale_factor,
8184
center_reference: reference,
8285
series_approximation,
@@ -85,7 +88,7 @@ impl FractalRenderer {
8588
}
8689

8790
pub fn render_frame(&mut self, frame_index: usize, filename: String) {
88-
print!("{:<6}", frame_index);
91+
print!("{:<6}", frame_index + self.frame_offset);
8992
print!("| {:<15}", extended_to_string_short(self.zoom));
9093
std::io::stdout().flush().unwrap();
9194
let frame_time = Instant::now();
@@ -226,8 +229,9 @@ impl FractalRenderer {
226229
println!("{:<6}| {:<15}| {:<15}| {:<15}| {:<15}| {:<15}| {:<15}| {:<15}| {:<15}| {:<15}| {:<15}", "Frame", "Zoom", "Approx [ms]", "Skipped [it]", "Maximum [it]", "Packing [ms]", "Iteration [ms]", "Correct [ms]", "Saving [ms]", "Frame [ms]", "TOTAL [ms]");
227230

228231
let mut count = 0;
232+
229233
while self.remaining_frames > 0 && self.zoom.to_float() > 0.5 {
230-
self.render_frame(count, format!("output/{:08}_{}", count, extended_to_string_short(self.zoom)));
234+
self.render_frame(count, format!("output/{:08}_{}", count + self.frame_offset, extended_to_string_short(self.zoom)));
231235
self.zoom.mantissa /= self.zoom_scale_factor;
232236
self.zoom.reduce();
233237

@@ -243,11 +247,14 @@ impl FractalRenderer {
243247

244248
if self.zoom.to_float() < 1e10 {
245249
let new_iteration_value = 10000;
250+
251+
if self.center_reference.current_iteration >= 10000 {
252+
self.center_reference.current_iteration = new_iteration_value;
253+
};
254+
246255
self.center_reference.maximum_iteration = new_iteration_value;
247-
self.center_reference.current_iteration = new_iteration_value;
248256
self.maximum_iteration = new_iteration_value;
249257
}
250-
251258
}
252259

253260
self.remaining_frames -= 1;

0 commit comments

Comments
 (0)