Non-Euclidean Worlds Engine
TLDRThe video script introduces a groundbreaking rendering engine designed for non-Euclidean worlds, offering a unique perspective on space and distance. The engine defies conventional geometry by creating tunnels that appear long on the outside but are short on the inside, and vice versa. It also presents a four-room house with only three rooms, demonstrating how our brains can be deceived by non-Euclidean spaces. The engine further showcases rooms with infinite space within finite dimensions and the ability to scale objects and beings to fit through seemingly impassable tunnels. The technology is explained as a seamless extension of the game 'Portal', with advanced rendering techniques that account for occlusions and multiple perspectives. The script highlights the engine's potential for virtual reality, allowing for the exploration of vast virtual worlds within confined physical spaces. The creator shares their journey from Unity to developing their own OpenGL engine and provides a GitHub link for the curious to explore the demo.
Takeaways
- 🎨 The rendering engine is designed for non-Euclidean worlds, which allows for unusual spatial experiences.
- 🌐 The engine can create a long tunnel that appears short on the inside and vice versa, challenging our perception of distance.
- 🏠 It can render a four-room house with only three rooms, or a six-room house, by bending spatial logic.
- 🔄 The shortest path between two points is not always a straight line in this engine, defying Euclidean geometry.
- 🧠 The human brain may not naturally detect the spatial anomalies unless they are pointed out.
- 🚪 The engine can create rooms that lead to other unique spaces upon walking around objects.
- 🔄 It allows for the possibility of an infinite amount of space within a finite space, by using non-Euclidean geometry.
- ⛰ The engine can simulate scenarios like walking downhill to go uphill, creating a surreal experience.
- 🧍♂️ It can change the scale of objects or characters as they move through spaces, allowing for a tunnel that becomes passable.
- 🖥️ The rendering process is complex, requiring recursive rendering of surfaces and conditional occlusions.
- 🛠️ The developer had to create a custom rendering engine in OpenGL due to limitations in Unity's scriptable pipeline.
- 🤖 The technology has potential applications in virtual reality, allowing for larger explorable spaces within confined physical areas.
- 💾 The source code and executable for the engine are available on GitHub for interested developers to explore.
Q & A
What is the primary challenge in creating a rendering engine for non-Euclidean worlds?
-The primary challenge is to create an illusion of non-Euclidean geometry where the shortest path between two points is not a straight line, and spaces can be compressed or expanded in ways that are not intuitive to our understanding of Euclidean space.
How does the rendering engine differ from the game Portal in its approach to portals?
-Unlike Portal, where portals have visible seams, the rendering engine uses solid geometry surfaces with textures that act as virtual cameras, creating a seamless transition when a user walks through them.
Why did the developer switch from Unity to creating their own rendering engine in OpenGL?
-The developer found it impossible to achieve the desired rendering effects in Unity without lower-level access to the rendering pipeline. Even the scriptable pipeline in Unity did not suffice, leading to the creation of a custom engine in OpenGL.
What is the significance of the house with four rooms that only appears to have three?
-This demonstrates the brain's tendency not to notice spatial anomalies in non-Euclidean spaces unless explicitly pointed out. It also showcases the potential for creating deceptive architectural designs in virtual environments.
How does the rendering engine enable the creation of rooms that seem to have an infinite amount of space within a finite area?
-By using recursive rendering and the principles of non-Euclidean geometry, the engine can create the illusion of infinite space by continuously transitioning between different spatial perspectives within a confined physical space.
What is the practical application of this rendering engine in the context of virtual reality?
-The engine allows for the compression of large, open-world environments into smaller physical spaces, which is particularly useful for room-scale VR. It enables users to explore vast virtual spaces without the need for teleportation or other methods that can break immersion.
How does the engine handle the rendering of surfaces behind others, considering occlusions?
-Each surface in the engine must recursively render the surfaces behind it, with conditional rendering based on whether those surfaces are occluded or visible from each perspective.
What is the unique feature of the room with a pillar and an object that allows for multiple unique spaces?
-The unique feature is that as one walks around the pillar, they are teleported to different unique spaces, even though the physical objects remain unchanged. This is possible due to the non-Euclidean nature of the space.
How does the tunnel that changes the scale of the user as they pass through it work?
-The tunnel is designed with the ability to alter the perceived scale of the user as they traverse it. By walking through the tunnel multiple times, the user can be made to appear smaller or larger, allowing them to fit through or be too large for the tunnel.
What is the source of inspiration for the hill that slopes up but can be ascended by going down a tunnel?
-The inspiration comes from the humorous anecdotes of 'walking uphill both ways,' suggesting that the concept of non-Euclidean geometry could explain such seemingly paradoxical experiences.
Why did the developer decide to upload the source and executable to GitHub?
-The developer uploaded the source and executable to GitHub to allow others to explore, learn from, and potentially contribute to the project, fostering a community around this innovative rendering technology.
What is the main takeaway from the script regarding the human perception of non-Euclidean spaces?
-The main takeaway is that humans are not naturally accustomed to perceiving non-Euclidean spaces, and thus, may not immediately notice the spatial anomalies unless they are explicitly made aware of them.
Outlines
🔍 Introduction to Non-Euclidean Rendering Engine
The speaker introduces a rendering engine designed for non-Euclidean worlds, demonstrating its capabilities through various examples. The engine allows for the creation of spaces that appear long on the outside but are short on the inside, and vice versa. It challenges the conventional understanding of spatial relationships, such as the shortest path between two points not being a straight line. The speaker also showcases a house with an unexpected twist, where a four-room house only has three rooms, and another with six rooms, suggesting the possibility of infinite space within a finite one. The engine uses a rendering technique similar to the game Portal, but with seamless transitions and multiple portals. The rendering process is complex, requiring each surface to render surfaces behind it based on occlusion from different perspectives. The speaker mentions the limitations encountered when trying to implement this in Unity and the decision to create a custom engine in OpenGL. The potential applications of this technology extend beyond puzzle games to virtual reality, where it could enable larger explorable spaces within a confined physical area. The source code and executable are made available on GitHub for further exploration.
Mindmap
Keywords
💡Rendering Engine
💡Non-Euclidean Worlds
💡Tunnel
💡House
💡Pillar and Object
💡Hill and Tunnel
💡Scale Change
💡OpenGL
💡Recursive Rendering
💡Virtual Reality (VR)
💡Source and Executable
Highlights
Developing a rendering engine for non-Euclidean worlds which presents unique spatial properties.
Tunnels that appear long from the outside but are short on the inside, and vice versa.
The shortest path between two points is not a straight line in non-Euclidean spaces.
A four-room house that only has three rooms, demonstrating the mind's adjustment to non-Euclidean geometry.
A house with six rooms that can contain an infinite amount of space within a finite area.
A room with a pillar and an object that leads to another room when walked around, showcasing unique spatial transitions.
A hill that can be ascended by going downhill, a peculiar feature of non-Euclidean geometry.
A tunnel that changes the scale of an object as it passes through, allowing for traversal.
Rendering technique similar to 'Portal' game, but with seamless portals and more than two at a time.
Solid geometry surfaces with textures that act as virtual cameras, creating an illusion of different perspectives.
Recursive rendering of surfaces behind each other, conditional on occlusion from each perspective.
Challenges faced in Unity led to the creation of a custom rendering engine in OpenGL.
Potential use cases beyond puzzle games, particularly in virtual reality for creating larger explorable spaces.
The engine allows for compression of entire levels to fit into a single room-scale VR space.
A demonstration of a 20x20 foot room that actually contains a volume four times larger.
The belief that the illusion created by the engine feels as real in VR as on a screen.
Source code and executable for the demo are available on GitHub for public exploration.
Transcripts
Browse More Related Video
The most amazing physics simulations right now #4
Every Trick for Shading Glass in Eevee - Fundamentals of Blender Materials & Shading (Bonus Video)
Raytracing on a Graphing Calculator (again)
How A Car Battery Works - basic working principle
Could This Be The Next Air Force One? - Hermeus
Video 57 - Embedded Manifolds
5.0 / 5 (0 votes)
Thanks for rating: