Bernie Innocenti [Tue, 31 Mar 2020 15:42:57 +0000 (00:42 +0900)]
Remove deprecatd emscripten option ERROR_ON_MISSING_LIBRARIES
Bernie Innocenti [Tue, 31 Mar 2020 15:41:29 +0000 (00:41 +0900)]
Replace std::time with the wasm-compatible crate instant
Bernie Innocenti [Tue, 31 Mar 2020 15:37:03 +0000 (00:37 +0900)]
Update to glium 0.27 and glutin 0.24
Bernie Innocenti [Fri, 21 Feb 2020 05:23:40 +0000 (14:23 +0900)]
Update glium and glutin to latest stable releases
No code changes needed this time, phew :)
Bernie Innocenti [Tue, 21 Jan 2020 15:34:04 +0000 (00:34 +0900)]
Eliminate lifetime annotations in World and Text
Changing the lifetime of glium::DrawParameters to 'static did the trick.
Poof! No need carry around lifetime annotations everywhere.
Also removed Display from World, which paves the way for rendering World
onto multiple displays at once (think VR or video streaming...)
Bernie Innocenti [Sat, 11 Jan 2020 19:52:35 +0000 (04:52 +0900)]
Cleanly separate rendering and event handling
Moving to glium 0.26 / glutin 0.22 required adopting a new event loop
stlye, which in turn was the right excuse for a long overdue code
rework. Some things still don't work quite right at this point,
FPS computation is incorrect and some keyboard commands are still
commented out... But hey, the code looks much nicer now!
Bernie Innocenti [Tue, 22 Oct 2019 13:57:54 +0000 (22:57 +0900)]
Update to glium 0.25.1
Bernie Innocenti [Mon, 5 Aug 2019 20:26:51 +0000 (16:26 -0400)]
Update to glium 0.23 and glutin 0.21
Also switched to the latest release of the image crate (currently 0.22.1).
Bernie Innocenti [Thu, 24 Jan 2019 22:58:57 +0000 (11:58 +1300)]
Log binary size in release.sh to help debug bloat
Bernie Innocenti [Thu, 27 Dec 2018 14:30:30 +0000 (21:30 +0700)]
Switch to Rusr 2018!
Removes all those ugly 'extern crate' and 'macro_use' lines...
Bernie Innocenti [Thu, 27 Dec 2018 14:13:15 +0000 (21:13 +0700)]
Run 'cargo fix --edition'
Bernie Innocenti [Thu, 27 Dec 2018 14:09:40 +0000 (21:09 +0700)]
Update benches to latest glium display setup api
Bernie Innocenti [Thu, 27 Dec 2018 13:42:00 +0000 (20:42 +0700)]
Update rust-rocket submodule
Bernie Innocenti [Thu, 27 Dec 2018 13:39:28 +0000 (20:39 +0700)]
Indented with rustfmt 1.0
Bernie Innocenti [Thu, 27 Dec 2018 13:39:12 +0000 (20:39 +0700)]
Fix minor ES syntax issues in text.frag
Bernie Innocenti [Sun, 14 Oct 2018 16:28:53 +0000 (01:28 +0900)]
Small tweaks to debug build scripts
Bernie Innocenti [Sun, 14 Oct 2018 16:27:55 +0000 (01:27 +0900)]
wasm: Enable backtraces in browser console
Bernie Innocenti [Sun, 14 Oct 2018 16:17:19 +0000 (01:17 +0900)]
Update to image 0.20
Bernie Innocenti [Sun, 14 Oct 2018 15:43:40 +0000 (00:43 +0900)]
Use GLSL 3.0 ES for all shaders
Bernie Innocenti [Sat, 29 Sep 2018 12:13:36 +0000 (21:13 +0900)]
Port to glium 0.22 and clutin 0.18
Bernie Innocenti [Sat, 30 Jun 2018 07:29:40 +0000 (16:29 +0900)]
Add a .editorconfig file (4 spaces indentation)
Bernie Innocenti [Thu, 31 May 2018 12:45:11 +0000 (21:45 +0900)]
Tweak the wasm build scripts
Bernie Innocenti [Thu, 31 May 2018 12:44:29 +0000 (21:44 +0900)]
Update deps: glium 0.21, glutin 0.14
Bernie Innocenti [Fri, 6 Apr 2018 12:37:10 +0000 (21:37 +0900)]
Update to glium 0.20 + glutin 0.12
Bernie Innocenti [Wed, 20 Dec 2017 21:21:49 +0000 (16:21 -0500)]
Don't request a GL context with sRGB enabled.
It's not supported by the Intel Linux drivers (not in my configuration,
at least).
Bernie Innocenti [Mon, 18 Dec 2017 04:48:33 +0000 (23:48 -0500)]
Attempt at enabling WebGL2 in wasm (not yet working).
Bernie Innocenti [Mon, 18 Dec 2017 04:47:13 +0000 (23:47 -0500)]
Cleanup unused imports.
Bernie Innocenti [Sun, 17 Dec 2017 00:58:45 +0000 (19:58 -0500)]
Update wasm targets for emcc 1.37.22
Currently, the main loop seems to get stuck, needs some debugging.
Bernie Innocenti [Sun, 17 Dec 2017 00:57:59 +0000 (19:57 -0500)]
Update to latest glutin, glium and image.
Bernie Innocenti [Fri, 29 Sep 2017 22:57:59 +0000 (18:57 -0400)]
Merge branch 'master' of ssh://codewiz.org/~/public_git/mandelwow
Bernie Innocenti [Fri, 29 Sep 2017 22:53:48 +0000 (18:53 -0400)]
Port to glium 0.17 and glutin 0.9.
Involved a major rework of input handling.
Bernie Innocenti [Sat, 9 Sep 2017 18:10:32 +0000 (14:10 -0400)]
Improve asmjs build docs.
Bernie Innocenti [Sun, 23 Jul 2017 04:14:27 +0000 (00:14 -0400)]
Remove the wavefront object loader for now...
I'd rather convert the vertexes to binary and then include_bytes!
Bernie Innocenti [Sat, 8 Jul 2017 18:36:21 +0000 (14:36 -0400)]
Remove alpha from screenshots.
Bernie Innocenti [Sat, 8 Jul 2017 18:36:13 +0000 (14:36 -0400)]
Add screenshot.
Bernie Innocenti [Sat, 8 Jul 2017 18:04:21 +0000 (14:04 -0400)]
Put text on the top faces of cubes.
Bernie Innocenti [Sat, 8 Jul 2017 16:21:51 +0000 (12:21 -0400)]
Load shaders to shaders/
Bernie Innocenti [Sat, 8 Jul 2017 16:12:22 +0000 (12:12 -0400)]
Delete shaders in top-level directory.
Bernie Innocenti [Sat, 8 Jul 2017 16:22:23 +0000 (12:22 -0400)]
Prevent global CFLAGS and CXXFLAGS from percolating into the wasm build.
Bernie Innocenti [Sat, 8 Jul 2017 16:09:00 +0000 (12:09 -0400)]
Move text rendering shaders out of line.
Bernie Innocenti [Sat, 8 Jul 2017 01:21:29 +0000 (21:21 -0400)]
Move shaders and textures into subdirectories.
Bernie Innocenti [Fri, 7 Jul 2017 15:15:28 +0000 (11:15 -0400)]
Temporarily disable panic="abort".
This is a workaround for:
error: the crate `bitflags` is compiled with the panic strategy `abort` which is incompatible with this crate's strategy of `unwind`
Bernie Innocenti [Fri, 7 Jul 2017 15:03:59 +0000 (11:03 -0400)]
Disable Rocket in the default build and update build instructions.
Bernie Innocenti [Thu, 6 Jul 2017 06:19:42 +0000 (02:19 -0400)]
Move editor code into Timer.
Maybe rename Timer to Player? Not today.
Bernie Innocenti [Thu, 6 Jul 2017 05:08:11 +0000 (01:08 -0400)]
Move most timing-related code to new module timer.rs
Bernie Innocenti [Sun, 2 Jul 2017 16:20:31 +0000 (12:20 -0400)]
Tweak release options to shrink the binary a bit.
cargo build --release --no-default-features && strip target/release/mandelwow
Binary size:
1436288
Bernie Innocenti [Sun, 2 Jul 2017 15:55:51 +0000 (11:55 -0400)]
Load the c64 font as a raw bitmap without using the image crate.
Shaves 170KB from the stripped binary.
Bernie Innocenti [Sun, 2 Jul 2017 15:16:26 +0000 (11:16 -0400)]
Add rust-rocket optional dependency.
Bernie Innocenti [Thu, 29 Jun 2017 10:51:38 +0000 (06:51 -0400)]
Fix style warnings from clippy.
Bernie Innocenti [Tue, 27 Jun 2017 06:23:15 +0000 (02:23 -0400)]
Update shaded_cube bench.
Bernie Innocenti [Mon, 26 Jun 2017 00:20:51 +0000 (20:20 -0400)]
Add build instructions for Windows.
Bernie Innocenti [Mon, 26 Jun 2017 05:29:02 +0000 (01:29 -0400)]
Draw the cubes using flat shading and fewer vertexes.
Described in detail here: http://poniesandlight.co.uk/notes/flat_shading_on_osx/
Bernie Innocenti [Wed, 21 Jun 2017 22:20:32 +0000 (18:20 -0400)]
Simplify SoundPlayer's hit_event().
Bernie Innocenti [Wed, 21 Jun 2017 06:17:32 +0000 (02:17 -0400)]
sRGB correction for C64 palette.
Bernie Innocenti [Wed, 21 Jun 2017 04:51:46 +0000 (00:51 -0400)]
Use a regular float texture for the font.
Unsigned textures silently fail with Intel... &#@@?!
Bernie Innocenti [Sun, 18 Jun 2017 22:38:11 +0000 (18:38 -0400)]
Allow selecting text fg and bg colors.
Also use a grayscale bitmap for the C64 font.
Bernie Innocenti [Sun, 18 Jun 2017 17:04:32 +0000 (13:04 -0400)]
Index the font to pick any character.
Bernie Innocenti [Sun, 18 Jun 2017 16:56:24 +0000 (12:56 -0400)]
Render text with a C64 font!
Bernie Innocenti [Mon, 12 Jun 2017 01:05:27 +0000 (21:05 -0400)]
Implement fractal pulsing on music clap hit.
Bernie Innocenti [Sun, 11 Jun 2017 15:07:54 +0000 (11:07 -0400)]
Detect instrument hits in music.
Bernie Innocenti [Sun, 11 Jun 2017 01:09:50 +0000 (21:09 -0400)]
Light fading in the distance on the sea, add green ripples on the waves.
Bernie Innocenti [Mon, 29 May 2017 00:56:26 +0000 (20:56 -0400)]
Disable local repositories for glutin and glium.
Bernie Innocenti [Fri, 12 May 2017 04:18:44 +0000 (00:18 -0400)]
Make the mandelwow corona fade slower.
Bernie Innocenti [Thu, 11 May 2017 05:05:18 +0000 (01:05 -0400)]
Remove backtrace fork for emscripten.
Bernie Innocenti [Mon, 8 May 2017 03:34:39 +0000 (23:34 -0400)]
Make the shaded_cube benchmark actually draw the cube on the screen.
Bernie Innocenti [Mon, 8 May 2017 03:10:17 +0000 (23:10 -0400)]
Add a benchmark for ShadedCube.
Bernie Innocenti [Mon, 8 May 2017 00:34:05 +0000 (20:34 -0400)]
Use culling to draw sea of cubes.
Bernie Innocenti [Mon, 8 May 2017 00:33:35 +0000 (20:33 -0400)]
Add FPS counter.
Bernie Innocenti [Mon, 8 May 2017 00:32:55 +0000 (20:32 -0400)]
Remove placeholder game loop code.
Bernie Innocenti [Sun, 7 May 2017 22:03:30 +0000 (18:03 -0400)]
Precompute perspective * projection for the cubes.
Bernie Innocenti [Sun, 7 May 2017 16:25:46 +0000 (12:25 -0400)]
Asmjs doc fixes.
Bernie Innocenti [Sun, 7 May 2017 16:11:08 +0000 (12:11 -0400)]
Delete some commented out code.
Bernie Innocenti [Sun, 7 May 2017 05:16:06 +0000 (01:16 -0400)]
Simplify sea initialization.
Bernie Innocenti [Sun, 7 May 2017 00:38:01 +0000 (20:38 -0400)]
Bump version to 0.7.0.
Bernie Innocenti [Sun, 7 May 2017 00:37:25 +0000 (20:37 -0400)]
Add sea waves!
Bernie Innocenti [Sun, 7 May 2017 00:36:49 +0000 (20:36 -0400)]
Change the light direction to nake the cubes less symmetric.
Bernie Innocenti [Sun, 7 May 2017 00:36:10 +0000 (20:36 -0400)]
Make mouse camera movement smoother.
Bernie Innocenti [Sat, 6 May 2017 23:33:13 +0000 (19:33 -0400)]
Add a sea shaded cubes, just because. No big deal (yet).
Bernie Innocenti [Sat, 6 May 2017 03:28:40 +0000 (23:28 -0400)]
Bump version to 0.6.0
Bernie Innocenti [Sat, 6 May 2017 03:27:14 +0000 (23:27 -0400)]
Add a simple benchmark for bounding_box
Bernie Innocenti [Sat, 6 May 2017 03:26:53 +0000 (23:26 -0400)]
Create mandelwow_lib.
Bernie Innocenti [Fri, 5 May 2017 03:27:42 +0000 (23:27 -0400)]
Convert bounding_box to a struct.
Bernie Innocenti [Mon, 1 May 2017 04:27:23 +0000 (00:27 -0400)]
Remove teapot
Bernie Innocenti [Mon, 1 May 2017 01:15:51 +0000 (21:15 -0400)]
Some cleanups for wasm and asmjs
Bernie Innocenti [Sun, 23 Apr 2017 05:09:00 +0000 (01:09 -0400)]
Same code now builds and runs both natively and as asmjs.
Bernie Innocenti [Sat, 22 Apr 2017 23:40:33 +0000 (19:40 -0400)]
Add music to emscripten port.
Bernie Innocenti [Sat, 22 Apr 2017 22:46:49 +0000 (18:46 -0400)]
Switch to WebGL 2.
Bernie Innocenti [Sat, 22 Apr 2017 20:19:10 +0000 (16:19 -0400)]
Improve asmjs support, add wasm target.
Bernie Innocenti [Mon, 17 Apr 2017 02:18:05 +0000 (22:18 -0400)]
A pile of gross hacks, but works in a browser so it's all justified.
Bernie Innocenti [Tue, 11 Apr 2017 02:39:42 +0000 (22:39 -0400)]
Start using cgmath.
Bernie Innocenti [Sun, 9 Apr 2017 01:37:25 +0000 (21:37 -0400)]
Bump version to 0.5.0.
Bernie Innocenti [Sun, 9 Apr 2017 01:31:35 +0000 (21:31 -0400)]
Implement mouse panning and streamline keyboard movement.
Bernie Innocenti [Sun, 9 Apr 2017 00:29:51 +0000 (20:29 -0400)]
Shorten glutin symbols in camera.
Bernie Innocenti [Sat, 8 Apr 2017 22:49:26 +0000 (18:49 -0400)]
Add screenshot function (F10).
Bernie Innocenti [Sat, 8 Apr 2017 22:17:12 +0000 (18:17 -0400)]
Shrink release binary a bit.
Bernie Innocenti [Sat, 8 Apr 2017 20:33:50 +0000 (16:33 -0400)]
Move GLSL shaders to external files and use include_str!() to load them.
Bernie Innocenti [Sat, 8 Apr 2017 19:23:14 +0000 (15:23 -0400)]
Split bounding_box to its own module.
Bernie Innocenti [Sat, 8 Apr 2017 19:00:43 +0000 (15:00 -0400)]
Bump version to 0.4.0.
Bernie Innocenti [Sat, 8 Apr 2017 18:59:16 +0000 (14:59 -0400)]
Ignore generated files.
Bernie Innocenti [Sat, 8 Apr 2017 18:58:30 +0000 (14:58 -0400)]
Add README.md and LICENSE