aboutsummaryrefslogtreecommitdiff
path: root/src/display/pixelflut.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/display/pixelflut.rs')
-rw-r--r--src/display/pixelflut.rs29
1 files changed, 18 insertions, 11 deletions
diff --git a/src/display/pixelflut.rs b/src/display/pixelflut.rs
index 3a62f8d..9b71c8e 100644
--- a/src/display/pixelflut.rs
+++ b/src/display/pixelflut.rs
@@ -1,8 +1,8 @@
use std::io::Write;
-use std::net::{TcpStream};
+use std::net::TcpStream;
+use crate::display::{Display, Pixel};
use crate::vec3::Color;
-use crate::display::{Display, Pixel};
pub struct Pixelflut {
socket: TcpStream,
@@ -54,15 +54,22 @@ impl Display for Pixelflut {
for x in 0..self.width {
let pixel = self.data.get((y * self.width) + x).unwrap();
let scale = 1.0 / pixel.sample_count as f64;
- let mut r = (pixel.color.x * scale).sqrt();
- let mut g = (pixel.color.y * scale).sqrt();
- let mut b = (pixel.color.z * scale).sqrt();
- self.socket.write(format!("PX {} {} {:02x}{:02x}{:02x}\n",
- self.x + x,
- self.y + self.height - y,
- (256.0 * r.clamp(0.0, 0.999)) as u32,
- (256.0 * g.clamp(0.0, 0.999)) as u32,
- (256.0 * b.clamp(0.0, 0.999)) as u32).as_bytes());
+ let r = (pixel.color.x * scale).sqrt();
+ let g = (pixel.color.y * scale).sqrt();
+ let b = (pixel.color.z * scale).sqrt();
+ self.socket
+ .write(
+ format!(
+ "PX {} {} {:02x}{:02x}{:02x}\n",
+ self.x + x,
+ self.y + self.height - y,
+ (256.0 * r.clamp(0.0, 0.999)) as u32,
+ (256.0 * g.clamp(0.0, 0.999)) as u32,
+ (256.0 * b.clamp(0.0, 0.999)) as u32
+ )
+ .as_bytes(),
+ )
+ .unwrap();
}
}
}