Inspiration
Being able to visualize data/objects is an incredibly useful tool for understanding it. A set of datapoints might seem like gibberish initially, but after graphing them, the relationship between the points is quickly highlighted. When data/objects reach beyond the third dimension, however, this quickly becomes infeasable. Trying to visualize a 4D object or dataset does not come naturally and as a result, when things extend into the fourth dimension and beyond, they are much harder to understand. Quaternions are perhaps one of the most pertinent examples of the difficult of understanding 4D objects. Euler rotations are quite easy to understand, but they run into issues with gimbal locking necessitating the use of quaternions. Quaternions, however, are 4D objects and as a result understanding them is a daunting task. Dimensional, as a higher dimensional rendering engine, aims to foster a more intuitive understanding of the fourth dimension.
What it does
Dimensional can project 4th dimensional objects from 4D into 3D and render them. When rendering to a traditional screen, the brain already does a lot of work to interpret the images on a 2D screen as a 3D object. In VR/AR, however, the format better lends itself to a 3D understanding from the beginning, thus freeing up brain space for understanding the jump from the 3rd dimension to the 4th.
How we built it
Dimensional was built with Rust and renders to the screen using WGPU. Further details TBD.
Challenges we ran into
Rust isn't a very easy language to throw together a project in; issues with the borrow checker took a lot of time to solve when with the fairly small codebase of a hackathon, the issues the borrow checker allows me to avoid aren't a big problem. I also had little prior experience with WGPU and working at such a low level made accomplishing a MVP in such a short timespan incredibly difficult.
Accomplishments that we're proud of
TBD
What we learned
TBD
What's next for Dimensional
Getting it to run on an actual headset, going past even the 4th dimension and into the 5th dimension and beyond, and non-euclidean rendering of spaces such as spherical and hyperbolic spaces are all future improvements to Dimensional that are planned.
Built With
- rust
- wgpu
Log in or sign up for Devpost to join the conversation.