71 lines
1.4 KiB
Rust
71 lines
1.4 KiB
Rust
use pixel_format::Rgba64;
|
|
use rhai::{EvalAltResult, Scope};
|
|
|
|
use crate::{
|
|
engine_internals::engine_startup,
|
|
pixel_format::{rgba_div, RGBA},
|
|
};
|
|
|
|
pub const SHADER: &str = include_str!("../example_shaders/simple.shade");
|
|
|
|
mod engine_internals;
|
|
pub mod pixel_format;
|
|
|
|
fn main() -> Result<(), Box<EvalAltResult>> {
|
|
let rgba: Rgba64 = 0xffffffff;
|
|
let rgba_2: Rgba64 = 0x02010101;
|
|
|
|
println!("{}", rgba_div(rgba, rgba_2));
|
|
|
|
/*
|
|
pixel_format::get_g(rgba);
|
|
pixel_format::get_b(rgba);
|
|
pixel_format::get_a(rgba);
|
|
*/
|
|
|
|
let engine = engine_startup();
|
|
let ast = engine.compile(SHADER)?;
|
|
let mut scope = Scope::new();
|
|
|
|
let a = vec![
|
|
RGBA {
|
|
r: 255,
|
|
g: 0,
|
|
b: 0,
|
|
a: 0,
|
|
},
|
|
RGBA {
|
|
r: 0,
|
|
g: 255,
|
|
b: 0,
|
|
a: 0,
|
|
},
|
|
RGBA {
|
|
r: 0,
|
|
g: 0,
|
|
b: 255,
|
|
a: 0,
|
|
},
|
|
RGBA {
|
|
r: 0,
|
|
g: 0,
|
|
b: 0,
|
|
a: 255,
|
|
},
|
|
];
|
|
|
|
let mut index = 0;
|
|
/*
|
|
for pixel in a {
|
|
scope.push("PIXEL_X", 0); // add constant variable
|
|
scope.push("PIXEL_Y", index); // add constant variable
|
|
scope.push("PIXEL_RGBA", pixel);
|
|
|
|
let result: RGBA = engine.call_fn(&mut scope, &ast, "main", ())?;
|
|
println!("Pixel {}: {:?}", index, result); // prints 42
|
|
index += 1;
|
|
}
|
|
*/
|
|
Ok(())
|
|
}
|