diff options
author | tcmal <me@aria.rip> | 2024-08-25 17:44:20 +0100 |
---|---|---|
committer | tcmal <me@aria.rip> | 2024-08-25 17:44:20 +0100 |
commit | de0f306ffcdf540c16ff2f89d99790c7f2b541fc (patch) | |
tree | f84e4a898a74ac412b4b332eb7c8c842c1b6af04 /examples | |
parent | f6c2f402e245c620f8f03dcf3aa6265fca6e8dcf (diff) |
refactor(render): remove old entity stuff from world type
Diffstat (limited to 'examples')
-rw-r--r-- | examples/render-bsp/Cargo.toml | 14 | ||||
-rw-r--r-- | examples/render-bsp/data/test.bsp | bin | 0 -> 6708 bytes | |||
-rw-r--r-- | examples/render-bsp/src/main.rs | 71 | ||||
-rw-r--r-- | examples/render-quad/Cargo.toml | 2 |
4 files changed, 86 insertions, 1 deletions
diff --git a/examples/render-bsp/Cargo.toml b/examples/render-bsp/Cargo.toml new file mode 100644 index 0000000..f0458a6 --- /dev/null +++ b/examples/render-bsp/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "render-bsp" +version = "0.1.0" +authors = ["Oscar <oscar.shrimpton.personal@gmail.com>"] + +[dependencies] +stockton-render = { path = "../../stockton-render", features = ["vulkan"] } +stockton-types = { path = "../../stockton-types" } +stockton-bsp = "2.0.0" +winit = "^0.21" +log = "0.4.0" +simple_logger = "1.0" +rand = "0.7" +image = "0.23.2" diff --git a/examples/render-bsp/data/test.bsp b/examples/render-bsp/data/test.bsp Binary files differnew file mode 100644 index 0000000..484f5b1 --- /dev/null +++ b/examples/render-bsp/data/test.bsp diff --git a/examples/render-bsp/src/main.rs b/examples/render-bsp/src/main.rs new file mode 100644 index 0000000..8116bd5 --- /dev/null +++ b/examples/render-bsp/src/main.rs @@ -0,0 +1,71 @@ +// Copyright (C) Oscar Shrimpton 2019 + +// This program is free software: you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation, either version 3 of the License, or (at your option) +// any later version. + +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. + +// You should have received a copy of the GNU General Public License along +// with this program. If not, see <http://www.gnu.org/licenses/>. + +//! Renders ./example.bsp + +extern crate stockton_types; +extern crate stockton_bsp; +extern crate stockton_render; +extern crate winit; +extern crate simple_logger; + +use std::fs::File; +use std::io::Read; + +use stockton_bsp::BSPFile; +use stockton_types::World; +use stockton_render::Renderer; + +use winit::{ + event::{Event, WindowEvent}, + event_loop::{ControlFlow, EventLoop}, + window::WindowBuilder +}; + +fn main() { + simple_logger::init().unwrap(); + + // Load the world and renderer + let event_loop = EventLoop::new(); + let window = WindowBuilder::new().build(&event_loop).unwrap(); + let data = include_bytes!("../data/test.bsp"); + let bsp = BSPFile::from_buffer(data).unwrap(); + println!("{:?}", bsp); + let world = World::new(bsp).unwrap(); + let mut renderer = Renderer::new(world, &window).unwrap(); + + // Keep rendering the world + event_loop.run(move |event, _, flow| { + *flow = ControlFlow::Poll; + + match event { + // TODO: Handle resize + Event::WindowEvent { + event: WindowEvent::CloseRequested, + .. + } => { + *flow = ControlFlow::Exit + }, + + Event::MainEventsCleared => { + window.request_redraw() + }, + Event::RedrawRequested(_) => { + renderer.render_frame().unwrap() + } + _ => () + } + }); +} diff --git a/examples/render-quad/Cargo.toml b/examples/render-quad/Cargo.toml index 7e9bc61..65e9b94 100644 --- a/examples/render-quad/Cargo.toml +++ b/examples/render-quad/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "render-triangles" +name = "render-quad" version = "0.1.0" authors = ["Oscar <oscar.shrimpton.personal@gmail.com>"] |