- It seems possible to consider this as a broad shader (blu3mo), inspired by Lorentz - Special Relativity in VR.
- Rendering is done based on a 4-dimensional vector that includes time (t, x, y, z).
- How does a regular vertex shader work?
- It takes (x, y, z) as input and returns (x’, y’, z’).
- The value of t remains constant.
- 4-dimensional vector:
- (t, x, y, z) → (tau, x’, y’, z)
- For all x, y, z, there exist x’, y’, z’.
- There is only one value of t for all tau.
- If tau represents real time, we always want a “four-dimensional vector with a certain tau”.
- The challenging part seems to be the rendering.
- We need to have the 4-dimensional data somewhere to render it.
- It is important to consider how to store, edit, and render the data.
- For example, if we store data for all times with fine granularity of delta t, it would be too much data.
- For x, y, z, we use polygons with lower resolution.
- Should we do the same for t?
- The concept of a 4D polygon is interesting.
- Existing examples:
- All use x, y, z, w instead of x, y, z, t.
- However, the tasks should be the same.
- 4-polytope - Wikipedia
- GitHub - mwalczyk/four: 💎 A 4-dimensional renderer.
- Marc Ten Bosch
- Miegakure Hide and Reveal: A 4D puzzle-platforming game.
- N-dimensional rigid body dynamics | ACM Transactions on Graphics
- No discussion about rendering.
- https://www.vice.com/en/article/9kmknd/what-happened-to-miegakure-the-game-that-promised-the-4th-dimension
- A look at the Technology behind the 4D Game Miegakure « mtbdesignworks Blog Miegakure, 4D Toys, Marc ten Bosch
- Uses tetrahedrons instead of triangulation.
- https://replit.com/talk/share/FOUR-DIMENSIONAL-rendering-engine-in-WebGL/139089
- Uses raymarching for 4D rendering.
- Becomes pixelated due to computational complexity.
- https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1921&context=cstech
- Contains detailed discussion.
-
Generating and Rendering Four-Dimensional Polytopes
- http://honors.cs.umd.edu/reports/AMartynov/4D_RayTracer.htm
- Uses sphere space.
- Similar to the previous example.
- Engine 4 | Modeling | Unity Asset Store
- Development seems to have ended.
- GitHub - Jellevermandere/4D-Raymarching: a Unity framework to create spacial 4 dimentional games, using raymarching
- Custom implementation of raymarching.
- Low resolution to maintain performance with many objects.
- 4D Golf Tech Details
- Understanding 4D tetrahedra.
- Slicing reveals triangles (not limited to triangles) as output.
- Obtaining a 3D triangle by slicing a 4D tetrahedron with four (x, y, z, t) values.
- It seems that we also need to reimplement physics in 4D.
- Before dealing with relativity, classical mechanics needs to be implemented since rigid bodies cannot be used.
- Interesting!
- Options:
- https://replit.com/talk/share/FOUR-DIMENSIONAL-rendering-engine-in-WebGL/139089
- https://github.com/Jellevermandere/4D-Raymarching
- Both are pixelated, reaching the performance limit.
- Unlike 3D to 2D, only one slice is needed.
- Therefore, ray-marching for the entire volume is computationally inefficient.
- Convert 4D polygons to 3D polygons.
- No open-source code found.
- 4D Physics.- If something is changed at t=1, it is necessary to compute everything that follows.
- That’s impossible.
- Some simplified physics?
- In other words, it seems like there could be more interesting things here (blu3mo).
- The important point is causality.
- Allowing causality in directions other than time would make rendering too difficult.
- The important point is causality.