• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

src/H03-May-2022-

.eslintrc.jsonH A D07-Nov-2020343 2120

LICENSE.mdH A D07-Nov-20201 KiB1915

README.mdH A D07-Nov-20201.9 KiB4835

TODOs.mdH A D07-Nov-2020425 1512

README.md

1Cottontail
2==========================================
3A simple WebGL renderering framework optimised for demonstrating WebXR concepts.
4
5Cottontail does two things well and not much else:
6
71) Loading and Rendering GLTF 2.0 files.
82) Optimising for WebXR-style rendering.
9
10However it explicitly goes out of it's way to NOT wrap much, if any, WebXR
11functionality. This is because arguably it's sole purpose in life is to enable
12the WebXR samples, who's sole purpose in life is to provide easy-to-follow code
13snippets demonstrating the API use and thus anything this code did to hide the
14WebXR API's direct use is counter productive.
15
16Using Cottontail for your own projects is very much not recommended, as you will
17almost certainly be better served by one of the other more popular frameworks
18out there.
19
20**About the name:** I wanted something that evoked XR imagery without being too
21heavy handed about it. The "White Rabbit" is prominent symbol in multiple peices
22of media about virtual worlds, such as the movie _The Matrix_ and the novel
23_Rainbows End_, which has a particularly heavy focus on AR/MR. So I liked the
24idea of riffing off of that. It's also nice (though unintended) bonus that the
25Daydream logo looks a bit like a stylized rabbit tail. Finally, it's based on
26some code that I started on Easter day, 2017.
27
28The real world may rest on the back of a giant tortise, but I propose
29that the virtual one is bunnies all the way down. ;)
30
31Building
32--------
33Cottontail can be used directly by any browser with good JavaScript modules
34support, but to ensure widest compatibility (and shorter download times) using
35a version compiled into a single file is recommended. To build first install the
36[node.js](https://nodejs.org/en/) dependencies with:
37
38  `npm install`
39
40Then build with:
41
42  `npm run build-all`
43
44For faster development iteration you can also have the project rebuild with any
45code changes automatically by running:
46
47  `npm run watch`
48