From 90d4cb79ee4f24e61d8b86bbde437b3259dfc35d Mon Sep 17 00:00:00 2001 From: Petr Volf Date: Mon, 5 Dec 2022 10:20:00 +0100 Subject: [PATCH] moved gl_wrapper to its own crate --- Cargo.lock | 9 ++++ Cargo.toml | 41 ++----------------- blackhole/Cargo.toml | 39 ++++++++++++++++++ {benches => blackhole/benches}/dist_fn.rs | 0 {src => blackhole/src}/bin/blackhole/args.rs | 0 .../src}/bin/blackhole/gl_shaders/output.glsl | 0 .../src}/bin/blackhole/gl_shaders/quad.glsl | 0 .../src}/bin/blackhole/main-cli.rs | 1 - {src => blackhole/src}/bin/blackhole/main.rs | 12 +++--- .../src}/bin/blackhole/renderer.rs | 0 .../src}/bin/blackhole/scene_loader.rs | 0 .../src}/bin/blackhole/shaders.rs | 0 .../src}/bin/blackhole/shaders/star_sky.rs | 0 {src => blackhole/src}/camera.rs | 0 {src => blackhole/src}/filter.rs | 0 {src => blackhole/src}/frame.rs | 0 {src => blackhole/src}/framebuffer.rs | 0 {src => blackhole/src}/lib.rs | 0 {src => blackhole/src}/lut.rs | 0 {src => blackhole/src}/material.rs | 0 {src => blackhole/src}/math.rs | 0 {src => blackhole/src}/object.rs | 0 {src => blackhole/src}/object/aabb.rs | 0 {src => blackhole/src}/object/distortion.rs | 0 {src => blackhole/src}/object/shape.rs | 0 .../src}/object/shape/composite.rs | 0 .../src}/object/shape/cylinder.rs | 0 {src => blackhole/src}/object/shape/sphere.rs | 0 {src => blackhole/src}/scene.rs | 0 {src => blackhole/src}/shader.rs | 0 {src => blackhole/src}/texture.rs | 0 gl_wrapper/Cargo.toml | 8 ++++ .../gl_wrapper => gl_wrapper/src}/geometry.rs | 0 .../gl_wrapper.rs => gl_wrapper/src/lib.rs | 0 .../gl_wrapper => gl_wrapper/src}/program.rs | 0 .../gl_wrapper => gl_wrapper/src}/renderer.rs | 4 +- .../gl_wrapper => gl_wrapper/src}/texture.rs | 0 37 files changed, 67 insertions(+), 47 deletions(-) create mode 100644 blackhole/Cargo.toml rename {benches => blackhole/benches}/dist_fn.rs (100%) rename {src => blackhole/src}/bin/blackhole/args.rs (100%) rename {src => blackhole/src}/bin/blackhole/gl_shaders/output.glsl (100%) rename {src => blackhole/src}/bin/blackhole/gl_shaders/quad.glsl (100%) rename {src => blackhole/src}/bin/blackhole/main-cli.rs (99%) rename {src => blackhole/src}/bin/blackhole/main.rs (96%) rename {src => blackhole/src}/bin/blackhole/renderer.rs (100%) rename {src => blackhole/src}/bin/blackhole/scene_loader.rs (100%) rename {src => blackhole/src}/bin/blackhole/shaders.rs (100%) rename {src => blackhole/src}/bin/blackhole/shaders/star_sky.rs (100%) rename {src => blackhole/src}/camera.rs (100%) rename {src => blackhole/src}/filter.rs (100%) rename {src => blackhole/src}/frame.rs (100%) rename {src => blackhole/src}/framebuffer.rs (100%) rename {src => blackhole/src}/lib.rs (100%) rename {src => blackhole/src}/lut.rs (100%) rename {src => blackhole/src}/material.rs (100%) rename {src => blackhole/src}/math.rs (100%) rename {src => blackhole/src}/object.rs (100%) rename {src => blackhole/src}/object/aabb.rs (100%) rename {src => blackhole/src}/object/distortion.rs (100%) rename {src => blackhole/src}/object/shape.rs (100%) rename {src => blackhole/src}/object/shape/composite.rs (100%) rename {src => blackhole/src}/object/shape/cylinder.rs (100%) rename {src => blackhole/src}/object/shape/sphere.rs (100%) rename {src => blackhole/src}/scene.rs (100%) rename {src => blackhole/src}/shader.rs (100%) rename {src => blackhole/src}/texture.rs (100%) create mode 100644 gl_wrapper/Cargo.toml rename {src/bin/blackhole/gl_wrapper => gl_wrapper/src}/geometry.rs (100%) rename src/bin/blackhole/gl_wrapper.rs => gl_wrapper/src/lib.rs (100%) rename {src/bin/blackhole/gl_wrapper => gl_wrapper/src}/program.rs (100%) rename {src/bin/blackhole/gl_wrapper => gl_wrapper/src}/renderer.rs (89%) rename {src/bin/blackhole/gl_wrapper => gl_wrapper/src}/texture.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index cdbcf05..676400a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -66,6 +66,7 @@ dependencies = [ "clap 4.0.10", "criterion", "gl", + "gl_wrapper", "glutin", "glutin-winit", "json5", @@ -694,6 +695,14 @@ dependencies = [ "xml-rs", ] +[[package]] +name = "gl_wrapper" +version = "0.0.0" +dependencies = [ + "gl", + "thiserror", +] + [[package]] name = "glutin" version = "0.30.2" diff --git a/Cargo.toml b/Cargo.toml index d613a21..0e07fe0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,41 +1,6 @@ -[package] -name = "blackhole" -version = "0.1.0" -edition = "2021" +[workspace] -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[[bin]] -name = "blackhole" -path = "src/bin/blackhole/main.rs" - -[[bin]] -name = "blackhole-cli" -path = "src/bin/blackhole/main-cli.rs" - -[dependencies] -png = "0.17" -cgmath = { version = "0.18", features = ["swizzle"] } -rand = { version = "0.8", features = ["small_rng"] } -rayon = "1.5" -clap = { version = "4.0.10", features = ["derive"] } -once_cell = "1.16.0" -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" -json5 = "0.4.1" -winit = "0.27.5" -glutin = "0.30.2" -glutin-winit = "0.2.1" -raw-window-handle = "0.5.0" -gl = "0.14.0" -thiserror = "1.0.37" - -[dev-dependencies] -criterion = "0.4.0" +members = ["blackhole", "gl_wrapper"] [profile.release] -debug = true - -[[bench]] -name = "dist_fn" -harness = false \ No newline at end of file +debug = true \ No newline at end of file diff --git a/blackhole/Cargo.toml b/blackhole/Cargo.toml new file mode 100644 index 0000000..2611e9d --- /dev/null +++ b/blackhole/Cargo.toml @@ -0,0 +1,39 @@ +[package] +name = "blackhole" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[[bin]] +name = "blackhole" +path = "src/bin/blackhole/main.rs" + +[[bin]] +name = "blackhole-cli" +path = "src/bin/blackhole/main-cli.rs" + +[dependencies] +png = "0.17" +cgmath = { version = "0.18", features = ["swizzle"] } +rand = { version = "0.8", features = ["small_rng"] } +rayon = "1.5" +clap = { version = "4.0.10", features = ["derive"] } +once_cell = "1.16.0" +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +json5 = "0.4.1" +winit = "0.27.5" +glutin = "0.30.2" +glutin-winit = "0.2.1" +raw-window-handle = "0.5.0" +gl = "0.14.0" +gl_wrapper = {path = "../gl_wrapper"} +thiserror = "1.0.37" + +[dev-dependencies] +criterion = "0.4.0" + +[[bench]] +name = "dist_fn" +harness = false \ No newline at end of file diff --git a/benches/dist_fn.rs b/blackhole/benches/dist_fn.rs similarity index 100% rename from benches/dist_fn.rs rename to blackhole/benches/dist_fn.rs diff --git a/src/bin/blackhole/args.rs b/blackhole/src/bin/blackhole/args.rs similarity index 100% rename from src/bin/blackhole/args.rs rename to blackhole/src/bin/blackhole/args.rs diff --git a/src/bin/blackhole/gl_shaders/output.glsl b/blackhole/src/bin/blackhole/gl_shaders/output.glsl similarity index 100% rename from src/bin/blackhole/gl_shaders/output.glsl rename to blackhole/src/bin/blackhole/gl_shaders/output.glsl diff --git a/src/bin/blackhole/gl_shaders/quad.glsl b/blackhole/src/bin/blackhole/gl_shaders/quad.glsl similarity index 100% rename from src/bin/blackhole/gl_shaders/quad.glsl rename to blackhole/src/bin/blackhole/gl_shaders/quad.glsl diff --git a/src/bin/blackhole/main-cli.rs b/blackhole/src/bin/blackhole/main-cli.rs similarity index 99% rename from src/bin/blackhole/main-cli.rs rename to blackhole/src/bin/blackhole/main-cli.rs index 0f56ad0..b0acefa 100644 --- a/src/bin/blackhole/main-cli.rs +++ b/blackhole/src/bin/blackhole/main-cli.rs @@ -9,7 +9,6 @@ use blackhole::filter::BlackmanHarrisFilter; use blackhole::framebuffer::{FrameBuffer, Pixel}; mod args; -mod gl_wrapper; mod renderer; mod scene_loader; mod shaders; diff --git a/src/bin/blackhole/main.rs b/blackhole/src/bin/blackhole/main.rs similarity index 96% rename from src/bin/blackhole/main.rs rename to blackhole/src/bin/blackhole/main.rs index 4d50b7b..11d7590 100644 --- a/src/bin/blackhole/main.rs +++ b/blackhole/src/bin/blackhole/main.rs @@ -22,17 +22,17 @@ use winit::window::{Window, WindowBuilder}; use blackhole::filter::BlackmanHarrisFilter; use blackhole::framebuffer::FrameBuffer; +use gl_wrapper::geometry::{GeometryBuilder, VertexAttribute}; +use gl_wrapper::program::ProgramBuilder; +use gl_wrapper::renderer::GlRenderer; +use gl_wrapper::texture::{Texture2D, TextureFormats}; +use gl_wrapper::QUAD; + mod args; -mod gl_wrapper; mod renderer; mod scene_loader; mod shaders; -use crate::gl_wrapper::geometry::{GeometryBuilder, VertexAttribute}; -use crate::gl_wrapper::program::ProgramBuilder; -use crate::gl_wrapper::renderer::GlRenderer; -use crate::gl_wrapper::texture::{Texture2D, TextureFormats}; -use crate::gl_wrapper::QUAD; use crate::renderer::{RenderInMsg, RenderOutMsg}; use args::Args; use blackhole::frame::{Frame, Region}; diff --git a/src/bin/blackhole/renderer.rs b/blackhole/src/bin/blackhole/renderer.rs similarity index 100% rename from src/bin/blackhole/renderer.rs rename to blackhole/src/bin/blackhole/renderer.rs diff --git a/src/bin/blackhole/scene_loader.rs b/blackhole/src/bin/blackhole/scene_loader.rs similarity index 100% rename from src/bin/blackhole/scene_loader.rs rename to blackhole/src/bin/blackhole/scene_loader.rs diff --git a/src/bin/blackhole/shaders.rs b/blackhole/src/bin/blackhole/shaders.rs similarity index 100% rename from src/bin/blackhole/shaders.rs rename to blackhole/src/bin/blackhole/shaders.rs diff --git a/src/bin/blackhole/shaders/star_sky.rs b/blackhole/src/bin/blackhole/shaders/star_sky.rs similarity index 100% rename from src/bin/blackhole/shaders/star_sky.rs rename to blackhole/src/bin/blackhole/shaders/star_sky.rs diff --git a/src/camera.rs b/blackhole/src/camera.rs similarity index 100% rename from src/camera.rs rename to blackhole/src/camera.rs diff --git a/src/filter.rs b/blackhole/src/filter.rs similarity index 100% rename from src/filter.rs rename to blackhole/src/filter.rs diff --git a/src/frame.rs b/blackhole/src/frame.rs similarity index 100% rename from src/frame.rs rename to blackhole/src/frame.rs diff --git a/src/framebuffer.rs b/blackhole/src/framebuffer.rs similarity index 100% rename from src/framebuffer.rs rename to blackhole/src/framebuffer.rs diff --git a/src/lib.rs b/blackhole/src/lib.rs similarity index 100% rename from src/lib.rs rename to blackhole/src/lib.rs diff --git a/src/lut.rs b/blackhole/src/lut.rs similarity index 100% rename from src/lut.rs rename to blackhole/src/lut.rs diff --git a/src/material.rs b/blackhole/src/material.rs similarity index 100% rename from src/material.rs rename to blackhole/src/material.rs diff --git a/src/math.rs b/blackhole/src/math.rs similarity index 100% rename from src/math.rs rename to blackhole/src/math.rs diff --git a/src/object.rs b/blackhole/src/object.rs similarity index 100% rename from src/object.rs rename to blackhole/src/object.rs diff --git a/src/object/aabb.rs b/blackhole/src/object/aabb.rs similarity index 100% rename from src/object/aabb.rs rename to blackhole/src/object/aabb.rs diff --git a/src/object/distortion.rs b/blackhole/src/object/distortion.rs similarity index 100% rename from src/object/distortion.rs rename to blackhole/src/object/distortion.rs diff --git a/src/object/shape.rs b/blackhole/src/object/shape.rs similarity index 100% rename from src/object/shape.rs rename to blackhole/src/object/shape.rs diff --git a/src/object/shape/composite.rs b/blackhole/src/object/shape/composite.rs similarity index 100% rename from src/object/shape/composite.rs rename to blackhole/src/object/shape/composite.rs diff --git a/src/object/shape/cylinder.rs b/blackhole/src/object/shape/cylinder.rs similarity index 100% rename from src/object/shape/cylinder.rs rename to blackhole/src/object/shape/cylinder.rs diff --git a/src/object/shape/sphere.rs b/blackhole/src/object/shape/sphere.rs similarity index 100% rename from src/object/shape/sphere.rs rename to blackhole/src/object/shape/sphere.rs diff --git a/src/scene.rs b/blackhole/src/scene.rs similarity index 100% rename from src/scene.rs rename to blackhole/src/scene.rs diff --git a/src/shader.rs b/blackhole/src/shader.rs similarity index 100% rename from src/shader.rs rename to blackhole/src/shader.rs diff --git a/src/texture.rs b/blackhole/src/texture.rs similarity index 100% rename from src/texture.rs rename to blackhole/src/texture.rs diff --git a/gl_wrapper/Cargo.toml b/gl_wrapper/Cargo.toml new file mode 100644 index 0000000..16b8d1a --- /dev/null +++ b/gl_wrapper/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "gl_wrapper" +version = "0.0.0" +edition = "2021" + +[dependencies] +gl = "0.14.0" +thiserror = "1.0.37" diff --git a/src/bin/blackhole/gl_wrapper/geometry.rs b/gl_wrapper/src/geometry.rs similarity index 100% rename from src/bin/blackhole/gl_wrapper/geometry.rs rename to gl_wrapper/src/geometry.rs diff --git a/src/bin/blackhole/gl_wrapper.rs b/gl_wrapper/src/lib.rs similarity index 100% rename from src/bin/blackhole/gl_wrapper.rs rename to gl_wrapper/src/lib.rs diff --git a/src/bin/blackhole/gl_wrapper/program.rs b/gl_wrapper/src/program.rs similarity index 100% rename from src/bin/blackhole/gl_wrapper/program.rs rename to gl_wrapper/src/program.rs diff --git a/src/bin/blackhole/gl_wrapper/renderer.rs b/gl_wrapper/src/renderer.rs similarity index 89% rename from src/bin/blackhole/gl_wrapper/renderer.rs rename to gl_wrapper/src/renderer.rs index 02d5c65..934c5d6 100644 --- a/src/bin/blackhole/gl_wrapper/renderer.rs +++ b/gl_wrapper/src/renderer.rs @@ -1,5 +1,5 @@ -use crate::gl_wrapper::geometry::Geometry; -use crate::gl_wrapper::program::Program; +use crate::geometry::Geometry; +use crate::program::Program; pub struct GlRenderer { current_program: u32, diff --git a/src/bin/blackhole/gl_wrapper/texture.rs b/gl_wrapper/src/texture.rs similarity index 100% rename from src/bin/blackhole/gl_wrapper/texture.rs rename to gl_wrapper/src/texture.rs