This is a demo of using the Elm language package for WebGL, combined with Elm ports and the browser Fullscreen and Pointer Lock APIs, to create a first person navigation experience in the browser.
Check out the live demo! It has been tested on Chrome, Edge, and Firefox.
This was inspired by an original demo by evancz. That project uses an old version of Elm, so it was brought up to date for Elm 0.19 with the Elm WebGL package's existing first person example.
Since the package example is an illustration of the package's capabilities alone, it doesn't include pointer movement or fullscreen support.
The crate texture came from the elm-explorations/webgl example, and the ground texture came from Open Game Art.
This project was bootstrapped with Create Elm App. You can install it with:
npm install -g create-elm-app
Then you can run the development server with:
elm-app start
View the app by visiting http://localhost:3000 in your browser.
Copyright © 2019 Jeff Cole. See LICENSE for more information.