Getting back up to date

This commit is contained in:
2020-01-18 22:30:46 -08:00
parent 88b078d1ff
commit 8a83a1f12a
5 changed files with 554 additions and 30 deletions

View File

@@ -36,8 +36,25 @@ pub mod sprite;
pub mod canvas;
pub mod compute;
/*
Trac3r : A program to convert images to 2D toolpaths
TODO:
+ Text rendering is half implemented.
+ Need generalized interface for render (image, texture, text)
+ Currently using local copies of a few libraries:
shade_runner
vulkano/vulkano-win
vulkano/vulkano-shaders
vulkano/vulkano
+ Need to generate runtime vertex definitions if I want to have on the fly shaders
*/
/// Main Entry
pub fn main() {
hprof::start_frame();
@@ -59,6 +76,7 @@ pub fn main() {
let mut window = surface.window();
let mut processor = vkprocessor::VkProcessor::new(&instance, &surface);
{
let g = hprof::enter("vulkan preload");
processor.create_swapchain(&surface);
@@ -112,20 +130,24 @@ pub fn main() {
let mut count = 0;
while let Some(p) = window.get_position() {
elapsed_time = timer.elap_time();
delta_time = elapsed_time - current_time;
current_time = elapsed_time;
if delta_time > 0.02 {
delta_time = 0.02;
while let true = processor.is_open() {
// Take care of our timing
{
elapsed_time = timer.elap_time();
delta_time = elapsed_time - current_time;
current_time = elapsed_time;
if delta_time > 0.02 {
delta_time = 0.02;
}
accumulator_time += delta_time;
}
accumulator_time += delta_time;
while (accumulator_time - step_size) >= step_size {
accumulator_time -= step_size;
}
// println!("{}", delta_time);
// Events loop is borrowed from the surface
events_loop.poll_events(|event| {
match event {
Event::WindowEvent { event: WindowEvent::CloseRequested, .. } =>
@@ -156,21 +178,13 @@ pub fn main() {
break;
}
let mut compu_frame = CompuFrame::new();
compu_frame.add(compute_buffer.clone(), compute_kernel.clone());
compu_frame.add_with_image_swap(compute_buffer.clone(), compute_kernel.clone(), &compu_sprite1);
let mut canvas = CanvasFrame::new();
canvas.draw(&funky_sprite);
canvas.draw(&test_polygon);
// let mut compu_frame = CompuFrame::new();
// compu_frame.add(compute_buffer.clone(), compute_kernel.clone());
// compu_frame.add_with_image_swap(compute_buffer.clone(), compute_kernel.clone(), &compu_sprite1);
//
// let mut canvas = CanvasFrame::new();
// canvas.draw(&funky_sprite);
// canvas.draw(&test_polygon);
{
let g = hprof::enter("Run");