create window, fill black
This commit is contained in:
parent
c8ca06b710
commit
3e17b1b5e2
|
@ -1 +1,2 @@
|
||||||
/target
|
/target
|
||||||
|
.idea/
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,5 @@
|
||||||
[package]
|
[package]
|
||||||
name = "microworlds-rs"
|
name = "microworlds"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
authors = ["Dan Ballard <dan@mindstab.net>"]
|
authors = ["Dan Ballard <dan@mindstab.net>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
@ -7,3 +7,7 @@ edition = "2018"
|
||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
piston = "0.52.0"
|
||||||
|
piston2d-graphics = "0.39.0"
|
||||||
|
pistoncore-glutin_window = "0.67.0"
|
||||||
|
piston2d-opengl_graphics = "0.76.0"
|
70
src/main.rs
70
src/main.rs
|
@ -1,3 +1,69 @@
|
||||||
fn main() {
|
extern crate glutin_window;
|
||||||
println!("Hello, world!");
|
extern crate graphics;
|
||||||
|
extern crate opengl_graphics;
|
||||||
|
extern crate piston;
|
||||||
|
|
||||||
|
use glutin_window::GlutinWindow as Window;
|
||||||
|
use opengl_graphics::{GlGraphics, OpenGL};
|
||||||
|
use piston::event_loop::{EventSettings, Events};
|
||||||
|
use piston::input::{RenderArgs, RenderEvent, UpdateArgs, UpdateEvent};
|
||||||
|
use piston::window::WindowSettings;
|
||||||
|
|
||||||
|
pub struct App {
|
||||||
|
gl: GlGraphics,
|
||||||
|
steps_per_sec: u32,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl App {
|
||||||
|
fn render (&mut self, args: &RenderArgs) {
|
||||||
|
use graphics::*;
|
||||||
|
|
||||||
|
const BLACK: [f32; 4] = [0.0, 0.0, 0.0, 1.0];
|
||||||
|
|
||||||
|
self.gl.draw(args.viewport(), |c, gl| {
|
||||||
|
// Clear the screen.
|
||||||
|
clear(BLACK, gl);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
fn update(&mut self, args: &UpdateArgs) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
// Make window
|
||||||
|
|
||||||
|
// Change this to OpenGL::V2_1 if not working.
|
||||||
|
let opengl = OpenGL::V3_2;
|
||||||
|
|
||||||
|
// Create an Glutin window.
|
||||||
|
let mut window: Window = WindowSettings::new("spinning-square", [800, 800])
|
||||||
|
.graphics_api(opengl)
|
||||||
|
.exit_on_esc(true)
|
||||||
|
.build()
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let mut app = App {
|
||||||
|
gl: GlGraphics::new(opengl),
|
||||||
|
steps_per_sec: 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
let mut events = Events::new(EventSettings::new());
|
||||||
|
|
||||||
|
// Make grid
|
||||||
|
|
||||||
|
// Quick life engine -> redraw
|
||||||
|
|
||||||
|
let mut events = Events::new(EventSettings::new());
|
||||||
|
while let Some(e) = events.next(&mut window) {
|
||||||
|
if let Some(args) = e.render_args() {
|
||||||
|
app.render(&args);
|
||||||
|
}
|
||||||
|
|
||||||
|
if let Some(args) = e.update_args() {
|
||||||
|
app.update(&args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue