mandelwow.git
3 years agoFix a clippy warning about superfluous match references
Bernie Innocenti [Mon, 1 Mar 2021 07:50:31 +0000 (14:50 +0700)]
Fix a clippy warning about superfluous match references

See: https://rust-lang.github.io/rust-clippy/master/#match_ref_pats

3 years agoImprove event handling
Bernie Innocenti [Mon, 1 Mar 2021 07:46:52 +0000 (14:46 +0700)]
Improve event handling

Now moving the mouse no longer hangs rendering, but events can still
cause the game timer (t) to advance too fast. Will fix this another
time.

3 years agoUpdate to glium 0.29, glutin 0.26, winit 0.24
Bernie Innocenti [Fri, 8 Jan 2021 14:58:28 +0000 (21:58 +0700)]
Update to glium 0.29, glutin 0.26, winit 0.24

3 years agoUpdate to glium 0.28, glutin 0.25 and winit 0.23
Bernie Innocenti [Sun, 13 Dec 2020 04:02:21 +0000 (11:02 +0700)]
Update to glium 0.28, glutin 0.25 and winit 0.23

Tested only on x86_64-unknown-linux-gnu. WebAssembly support is still
broken and needs porting from emcripten to stdweb.

4 years agoMerge branch 'master' of gitlab.com:berniecodewiz/mandelwow
Bernie Innocenti [Tue, 31 Mar 2020 15:44:46 +0000 (00:44 +0900)]
Merge branch 'master' of gitlab.com:berniecodewiz/mandelwow

4 years agoRemove deprecatd emscripten option ERROR_ON_MISSING_LIBRARIES
Bernie Innocenti [Tue, 31 Mar 2020 15:42:57 +0000 (00:42 +0900)]
Remove deprecatd emscripten option ERROR_ON_MISSING_LIBRARIES

4 years agoReplace std::time with the wasm-compatible crate instant
Bernie Innocenti [Tue, 31 Mar 2020 15:41:29 +0000 (00:41 +0900)]
Replace std::time with the wasm-compatible crate instant

4 years agoUpdate to glium 0.27 and glutin 0.24
Bernie Innocenti [Tue, 31 Mar 2020 15:37:03 +0000 (00:37 +0900)]
Update to glium 0.27 and glutin 0.24

4 years agoMove screenshotting code to its own module
Bernie Innocenti [Sun, 29 Mar 2020 13:11:14 +0000 (22:11 +0900)]
Move screenshotting code to its own module

4 years agoRe-enable fullscreen toggling
Bernie Innocenti [Sun, 29 Mar 2020 12:57:27 +0000 (21:57 +0900)]
Re-enable fullscreen toggling

Tested only on Linux with X11. I wouldn't be too surprised if it was
broken on other plaforms.

4 years agoRe-enable all keyboard shortcuts (except for fullscreen)
Bernie Innocenti [Sun, 29 Mar 2020 12:43:32 +0000 (21:43 +0900)]
Re-enable all keyboard shortcuts (except for fullscreen)

4 years agoUpdate glium and glutin to latest stable releases
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 :)

4 years agoEliminate lifetime annotations in World and Text
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...)

4 years agoCleanly separate rendering and event handling
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!

4 years agoUpdate to glium 0.25.1
Bernie Innocenti [Tue, 22 Oct 2019 13:57:54 +0000 (22:57 +0900)]
Update to glium 0.25.1

4 years agoUpdate to glium 0.23 and glutin 0.21
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).

5 years agoLog binary size in release.sh to help debug bloat
Bernie Innocenti [Thu, 24 Jan 2019 22:58:57 +0000 (11:58 +1300)]
Log binary size in release.sh to help debug bloat

5 years agoSwitch to Rusr 2018!
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...

5 years agoRun 'cargo fix --edition'
Bernie Innocenti [Thu, 27 Dec 2018 14:13:15 +0000 (21:13 +0700)]
Run 'cargo fix --edition'

5 years agoUpdate benches to latest glium display setup api
Bernie Innocenti [Thu, 27 Dec 2018 14:09:40 +0000 (21:09 +0700)]
Update benches to latest glium display setup api

5 years agoUpdate rust-rocket submodule
Bernie Innocenti [Thu, 27 Dec 2018 13:42:00 +0000 (20:42 +0700)]
Update rust-rocket submodule

5 years agoIndented with rustfmt 1.0
Bernie Innocenti [Thu, 27 Dec 2018 13:39:28 +0000 (20:39 +0700)]
Indented with rustfmt 1.0

5 years agoFix minor ES syntax issues in text.frag
Bernie Innocenti [Thu, 27 Dec 2018 13:39:12 +0000 (20:39 +0700)]
Fix minor ES syntax issues in text.frag

5 years agoSmall tweaks to debug build scripts
Bernie Innocenti [Sun, 14 Oct 2018 16:28:53 +0000 (01:28 +0900)]
Small tweaks to debug build scripts

5 years agowasm: Enable backtraces in browser console
Bernie Innocenti [Sun, 14 Oct 2018 16:27:55 +0000 (01:27 +0900)]
wasm: Enable backtraces in browser console

5 years agoUpdate to image 0.20
Bernie Innocenti [Sun, 14 Oct 2018 16:17:19 +0000 (01:17 +0900)]
Update to image 0.20

5 years agoUse GLSL 3.0 ES for all shaders
Bernie Innocenti [Sun, 14 Oct 2018 15:43:40 +0000 (00:43 +0900)]
Use GLSL 3.0 ES for all shaders

5 years agoPort to glium 0.22 and clutin 0.18
Bernie Innocenti [Sat, 29 Sep 2018 12:13:36 +0000 (21:13 +0900)]
Port to glium 0.22 and clutin 0.18

5 years agoAdd a .editorconfig file (4 spaces indentation)
Bernie Innocenti [Sat, 30 Jun 2018 07:29:40 +0000 (16:29 +0900)]
Add a .editorconfig file (4 spaces indentation)

5 years agoTweak the wasm build scripts
Bernie Innocenti [Thu, 31 May 2018 12:45:11 +0000 (21:45 +0900)]
Tweak the wasm build scripts

5 years agoUpdate deps: glium 0.21, glutin 0.14
Bernie Innocenti [Thu, 31 May 2018 12:44:29 +0000 (21:44 +0900)]
Update deps: glium 0.21, glutin 0.14

6 years agoUpdate to glium 0.20 + glutin 0.12
Bernie Innocenti [Fri, 6 Apr 2018 12:37:10 +0000 (21:37 +0900)]
Update to glium 0.20 + glutin 0.12

6 years agoDon't request a GL context with sRGB enabled.
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).

6 years agoAttempt at enabling WebGL2 in wasm (not yet working).
Bernie Innocenti [Mon, 18 Dec 2017 04:48:33 +0000 (23:48 -0500)]
Attempt at enabling WebGL2 in wasm (not yet working).

6 years agoCleanup unused imports.
Bernie Innocenti [Mon, 18 Dec 2017 04:47:13 +0000 (23:47 -0500)]
Cleanup unused imports.

6 years agoUpdate wasm targets for emcc 1.37.22
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.

6 years agoUpdate to latest glutin, glium and image.
Bernie Innocenti [Sun, 17 Dec 2017 00:57:59 +0000 (19:57 -0500)]
Update to latest glutin, glium and image.

6 years agoMerge branch 'master' of ssh://codewiz.org/~/public_git/mandelwow
Bernie Innocenti [Fri, 29 Sep 2017 22:57:59 +0000 (18:57 -0400)]
Merge branch 'master' of ssh://codewiz.org/~/public_git/mandelwow

6 years agoPort to glium 0.17 and glutin 0.9.
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.

6 years agoImprove asmjs build docs.
Bernie Innocenti [Sat, 9 Sep 2017 18:10:32 +0000 (14:10 -0400)]
Improve asmjs build docs.

6 years agoRemove the wavefront object loader for now...
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!

6 years agoRemove alpha from screenshots.
Bernie Innocenti [Sat, 8 Jul 2017 18:36:21 +0000 (14:36 -0400)]
Remove alpha from screenshots.

6 years agoAdd screenshot.
Bernie Innocenti [Sat, 8 Jul 2017 18:36:13 +0000 (14:36 -0400)]
Add screenshot.

6 years agoPut text on the top faces of cubes.
Bernie Innocenti [Sat, 8 Jul 2017 18:04:21 +0000 (14:04 -0400)]
Put text on the top faces of cubes.

6 years agoLoad shaders to shaders/
Bernie Innocenti [Sat, 8 Jul 2017 16:21:51 +0000 (12:21 -0400)]
Load shaders to shaders/

6 years agoDelete shaders in top-level directory.
Bernie Innocenti [Sat, 8 Jul 2017 16:12:22 +0000 (12:12 -0400)]
Delete shaders in top-level directory.

6 years agoPrevent global CFLAGS and CXXFLAGS from percolating into the wasm build.
Bernie Innocenti [Sat, 8 Jul 2017 16:22:23 +0000 (12:22 -0400)]
Prevent global CFLAGS and CXXFLAGS from percolating into the wasm build.

6 years agoMove text rendering shaders out of line.
Bernie Innocenti [Sat, 8 Jul 2017 16:09:00 +0000 (12:09 -0400)]
Move text rendering shaders out of line.

6 years agoMove shaders and textures into subdirectories.
Bernie Innocenti [Sat, 8 Jul 2017 01:21:29 +0000 (21:21 -0400)]
Move shaders and textures into subdirectories.

6 years agoTemporarily disable panic="abort".
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`

6 years agoDisable Rocket in the default build and update build instructions.
Bernie Innocenti [Fri, 7 Jul 2017 15:03:59 +0000 (11:03 -0400)]
Disable Rocket in the default build and update build instructions.

6 years agoMove editor code into Timer.
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.

6 years agoMove most timing-related code to new module timer.rs
Bernie Innocenti [Thu, 6 Jul 2017 05:08:11 +0000 (01:08 -0400)]
Move most timing-related code to new module timer.rs

6 years agoTweak release options to shrink the binary a bit.
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

6 years agoLoad the c64 font as a raw bitmap without using the image crate.
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.

6 years agoAdd rust-rocket optional dependency.
Bernie Innocenti [Sun, 2 Jul 2017 15:16:26 +0000 (11:16 -0400)]
Add rust-rocket optional dependency.

6 years agoFix style warnings from clippy.
Bernie Innocenti [Thu, 29 Jun 2017 10:51:38 +0000 (06:51 -0400)]
Fix style warnings from clippy.

6 years agoUpdate shaded_cube bench.
Bernie Innocenti [Tue, 27 Jun 2017 06:23:15 +0000 (02:23 -0400)]
Update shaded_cube bench.

6 years agoAdd build instructions for Windows.
Bernie Innocenti [Mon, 26 Jun 2017 00:20:51 +0000 (20:20 -0400)]
Add build instructions for Windows.

6 years agoDraw the cubes using flat shading and fewer vertexes.
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/

6 years agoSimplify SoundPlayer's hit_event().
Bernie Innocenti [Wed, 21 Jun 2017 22:20:32 +0000 (18:20 -0400)]
Simplify SoundPlayer's hit_event().

6 years agosRGB correction for C64 palette.
Bernie Innocenti [Wed, 21 Jun 2017 06:17:32 +0000 (02:17 -0400)]
sRGB correction for C64 palette.

6 years agoUse a regular float texture for the font.
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... &#@@?!

6 years agoAllow selecting text fg and bg colors.
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.

6 years agoIndex the font to pick any character.
Bernie Innocenti [Sun, 18 Jun 2017 17:04:32 +0000 (13:04 -0400)]
Index the font to pick any character.

6 years agoRender text with a C64 font!
Bernie Innocenti [Sun, 18 Jun 2017 16:56:24 +0000 (12:56 -0400)]
Render text with a C64 font!

6 years agoImplement fractal pulsing on music clap hit.
Bernie Innocenti [Mon, 12 Jun 2017 01:05:27 +0000 (21:05 -0400)]
Implement fractal pulsing on music clap hit.

6 years agoDetect instrument hits in music.
Bernie Innocenti [Sun, 11 Jun 2017 15:07:54 +0000 (11:07 -0400)]
Detect instrument hits in music.

6 years agoLight fading in the distance on the sea, add green ripples on the waves.
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.

6 years agoDisable local repositories for glutin and glium.
Bernie Innocenti [Mon, 29 May 2017 00:56:26 +0000 (20:56 -0400)]
Disable local repositories for glutin and glium.

6 years agoMake the mandelwow corona fade slower.
Bernie Innocenti [Fri, 12 May 2017 04:18:44 +0000 (00:18 -0400)]
Make the mandelwow corona fade slower.

6 years agoRemove backtrace fork for emscripten.
Bernie Innocenti [Thu, 11 May 2017 05:05:18 +0000 (01:05 -0400)]
Remove backtrace fork for emscripten.

6 years agoMake the shaded_cube benchmark actually draw the cube on the screen.
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.

6 years agoAdd a benchmark for ShadedCube.
Bernie Innocenti [Mon, 8 May 2017 03:10:17 +0000 (23:10 -0400)]
Add a benchmark for ShadedCube.

6 years agoUse culling to draw sea of cubes.
Bernie Innocenti [Mon, 8 May 2017 00:34:05 +0000 (20:34 -0400)]
Use culling to draw sea of cubes.

6 years agoAdd FPS counter.
Bernie Innocenti [Mon, 8 May 2017 00:33:35 +0000 (20:33 -0400)]
Add FPS counter.

6 years agoRemove placeholder game loop code.
Bernie Innocenti [Mon, 8 May 2017 00:32:55 +0000 (20:32 -0400)]
Remove placeholder game loop code.

6 years agoPrecompute perspective * projection for the cubes.
Bernie Innocenti [Sun, 7 May 2017 22:03:30 +0000 (18:03 -0400)]
Precompute perspective * projection for the cubes.

6 years agoAsmjs doc fixes.
Bernie Innocenti [Sun, 7 May 2017 16:25:46 +0000 (12:25 -0400)]
Asmjs doc fixes.

6 years agoDelete some commented out code.
Bernie Innocenti [Sun, 7 May 2017 16:11:08 +0000 (12:11 -0400)]
Delete some commented out code.

6 years agoSimplify sea initialization.
Bernie Innocenti [Sun, 7 May 2017 05:16:06 +0000 (01:16 -0400)]
Simplify sea initialization.

6 years agoBump version to 0.7.0. v0.7.0
Bernie Innocenti [Sun, 7 May 2017 00:38:01 +0000 (20:38 -0400)]
Bump version to 0.7.0.

6 years agoAdd sea waves!
Bernie Innocenti [Sun, 7 May 2017 00:37:25 +0000 (20:37 -0400)]
Add sea waves!

6 years agoChange the light direction to nake the cubes less symmetric.
Bernie Innocenti [Sun, 7 May 2017 00:36:49 +0000 (20:36 -0400)]
Change the light direction to nake the cubes less symmetric.

6 years agoMake mouse camera movement smoother.
Bernie Innocenti [Sun, 7 May 2017 00:36:10 +0000 (20:36 -0400)]
Make mouse camera movement smoother.

6 years agoAdd a sea shaded cubes, just because. No big deal (yet).
Bernie Innocenti [Sat, 6 May 2017 23:33:13 +0000 (19:33 -0400)]
Add a sea shaded cubes, just because. No big deal (yet).

6 years agoBump version to 0.6.0 v0.6.0
Bernie Innocenti [Sat, 6 May 2017 03:28:40 +0000 (23:28 -0400)]
Bump version to 0.6.0

6 years agoAdd a simple benchmark for bounding_box
Bernie Innocenti [Sat, 6 May 2017 03:27:14 +0000 (23:27 -0400)]
Add a simple benchmark for bounding_box

6 years agoCreate mandelwow_lib.
Bernie Innocenti [Sat, 6 May 2017 03:26:53 +0000 (23:26 -0400)]
Create mandelwow_lib.

6 years agoConvert bounding_box to a struct.
Bernie Innocenti [Fri, 5 May 2017 03:27:42 +0000 (23:27 -0400)]
Convert bounding_box to a struct.

6 years agoRemove teapot
Bernie Innocenti [Mon, 1 May 2017 04:27:23 +0000 (00:27 -0400)]
Remove teapot

6 years agoSome cleanups for wasm and asmjs
Bernie Innocenti [Mon, 1 May 2017 01:15:51 +0000 (21:15 -0400)]
Some cleanups for wasm and asmjs

6 years agoSame code now builds and runs both natively and as 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.

6 years agoAdd music to emscripten port. emscripten
Bernie Innocenti [Sat, 22 Apr 2017 23:40:33 +0000 (19:40 -0400)]
Add music to emscripten port.

6 years agoSwitch to WebGL 2.
Bernie Innocenti [Sat, 22 Apr 2017 22:46:49 +0000 (18:46 -0400)]
Switch to WebGL 2.

6 years agoImprove asmjs support, add wasm target.
Bernie Innocenti [Sat, 22 Apr 2017 20:19:10 +0000 (16:19 -0400)]
Improve asmjs support, add wasm target.

7 years agoA pile of gross hacks, but works in a browser so it's all justified.
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.

7 years agoStart using cgmath.
Bernie Innocenti [Tue, 11 Apr 2017 02:39:42 +0000 (22:39 -0400)]
Start using cgmath.

7 years agoBump version to 0.5.0.
Bernie Innocenti [Sun, 9 Apr 2017 01:37:25 +0000 (21:37 -0400)]
Bump version to 0.5.0.

7 years agoImplement mouse panning and streamline keyboard movement.
Bernie Innocenti [Sun, 9 Apr 2017 01:31:35 +0000 (21:31 -0400)]
Implement mouse panning and streamline keyboard movement.