Compare commits

..

5 Commits

5 changed files with 20 additions and 16 deletions

8
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,8 @@
{
"recommendations": [
"vadimcn.vscode-lldb",
"serayuzgur.crates",
"tamasfe.even-better-toml",
"matklad.rust-analyzer"
]
}

View File

@ -2,11 +2,11 @@
name = "mandelbrot"
version = "0.1.0"
authors = ["Rekai Musuka <rekai@musuka.dev>"]
edition = "2018"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
bevy = "^0.5"
num-complex = "^0.4"
rayon = "^1.5"
bevy = "0.5"
num-complex = "0.4"
rayon = "1.5"

Binary file not shown.

View File

@ -2,7 +2,6 @@ use bevy::diagnostic::{Diagnostics, FrameTimeDiagnosticsPlugin};
use bevy::prelude::*;
use bevy::render::texture::{Extent3d, TextureDimension, TextureFormat};
use mandelbrot::{Bounds, Mandelbrot, TEXTURE_HEIGHT, TEXTURE_WIDTH};
use std::time::Instant;
const MAX_ITERATION_COUNT: u32 = 1024;
@ -129,13 +128,13 @@ fn mandelbrot_render_system(
if let Some(material) = materials.get(handle) {
if let Some(texture_handle) = &material.texture {
if let Some(texture) = textures.get_mut(texture_handle) {
let z = scale.zoom;
let h = scale.horizontal;
let v = scale.vertical;
let zoom = scale.zoom;
let horiz = scale.horizontal;
let vert = scale.vertical;
let limit = scale.iteration_limit;
let x = ((-2.5 * z) + h, (1.0 * z) + h);
let y = ((-1.0 * z) - v, (1.0 * z) - v);
let x = ((-2.5 * zoom) + horiz, (1.0 * zoom) + horiz);
let y = ((-1.0 * zoom) - vert, (1.0 * zoom) - vert);
let bounds = Bounds::new(x, y);
texture
@ -188,7 +187,6 @@ fn setup(
font_size: 40.0,
color: white,
},
..Default::default()
},
TextSection {
value: "".to_string(),
@ -197,7 +195,6 @@ fn setup(
font_size: 40.0,
color: white,
},
..Default::default()
},
TextSection {
value: "\nFrametime: ".to_string(),
@ -206,7 +203,6 @@ fn setup(
font_size: 40.0,
color: white,
},
..Default::default()
},
TextSection {
value: "".to_string(),
@ -215,16 +211,14 @@ fn setup(
font_size: 40.0,
color: white,
},
..Default::default()
},
TextSection {
value: "ms".to_string(),
style: TextStyle {
font: ui_font.clone(),
font: ui_font,
font_size: 40.0,
color: white,
},
..Default::default()
},
],
..Default::default()

View File

@ -92,6 +92,7 @@ impl Mandelbrot {
self.frame_buffer.as_ref()
}
#[allow(dead_code)]
fn olc_colours(iters: f64) -> [u8; 4] {
let a = 0.1;
@ -122,6 +123,7 @@ impl Mandelbrot {
Self::count_iterations(c, limit)
}
#[allow(clippy::many_single_char_names)]
fn hsv_to_rgb(h: f64, s: f64, v: f64) -> [u8; 4] {
let c = v * s;
let x = c * (1.0 - (((h / 60.0) % 2.0) - 1.0).abs());