diff options
author | tcmal <me@aria.rip> | 2024-08-25 17:44:19 +0100 |
---|---|---|
committer | tcmal <me@aria.rip> | 2024-08-25 17:44:19 +0100 |
commit | 4cc81a601ef258ec38458778ee7c3392ddefc8ab (patch) | |
tree | 116e7f90f4cdc2a55b1cd3b2b5b582cccd6483af /examples | |
parent | b4266e59e5b0ced3fcd74a4b0871a5b32e46e0ac (diff) |
chore(render): add render crate & example
Diffstat (limited to 'examples')
-rw-r--r-- | examples/render/13power.bsp | bin | 0 -> 4568172 bytes | |||
-rw-r--r-- | examples/render/Cargo.toml | 11 | ||||
-rw-r--r-- | examples/render/src/main.rs | 49 |
3 files changed, 60 insertions, 0 deletions
diff --git a/examples/render/13power.bsp b/examples/render/13power.bsp Binary files differnew file mode 100644 index 0000000..0885199 --- /dev/null +++ b/examples/render/13power.bsp diff --git a/examples/render/Cargo.toml b/examples/render/Cargo.toml new file mode 100644 index 0000000..8a523e3 --- /dev/null +++ b/examples/render/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "render" +version = "0.1.0" +authors = ["Oscar <oscar.shrimpton.personal@gmail.com>"] +edition = "2018" + +[dependencies] +stockton-render = { path = "../../stockton-render" } +stockton-types = { path = "../../stockton-types" } +stockton-bsp = "2.0.0" +winit = "0.19.1"
\ No newline at end of file diff --git a/examples/render/src/main.rs b/examples/render/src/main.rs new file mode 100644 index 0000000..efb0e41 --- /dev/null +++ b/examples/render/src/main.rs @@ -0,0 +1,49 @@ +// 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; + +use stockton_bsp::BSPFile; +use stockton_render::Renderer; +use stockton_types::World; + +use winit::{EventsLoop, Window}; + +use std::sync::{Arc,RwLock}; + + +fn main() { + // Parse the BSP file. + let data = include_bytes!("../13power.bsp"); + let bsp = BSPFile::from_buffer(data).unwrap(); + + // Load it into a world. + // None of the entities are mapped for simplicity. + let world = Arc::new(RwLock::new(World::new(bsp, |_| { + None + }).unwrap())); + + // Create the window. + let events = EventsLoop::new(); + let window = Window::new(&events).unwrap(); + + // Create the renderer. + let renderer = Renderer::new(world, &window); +} |