In a non-Euclidean world that isn’t always the case
Non-Euclidean game engine
Jose L. Redondo Tello
What is non-Euclidean geometry?
Euclidean geometry
Euclidean geometry
Euclidean geometry
Euclidean geometry
What happens if we bend that paper?
The space is curved
Straight lines do not exist in this world
Non-Euclidean geometry
Geometric space where a straight line might not be the shortest way to connect two points
How can we achieve those effects?
Ray tracing
Rendering technique
Used to do light calculations
Ray tracing
There is a problem
1.920 x 1.080
Resolution
1.920 x 1.080
Resolution
2.073.600 pixels
2.073.600 rays
THAT IS SLOW
If only I could calculate multiple rays at the same time…
Ray tracing implementation
Compute shaders
Allow to do multiple calculations at the same time
Ray tracing implementation
Compute shaders
Ray tracing implementation
Ray tracing problems
-Send data to the GPU
-GPU quirks
-Performance
Deforming the space
Ray deformation
If the camera rays are deformed, the way the space is perceived will change
Ray deformation
Test different deformation and achieve the desired results through trial and error
Ray deformation
Aberrations
We will call these colliders
Aberrations
Can compress and expand the space within a certain area
Ray deformation
Ray deformation
Portals
We will call these colliders
Portals
Can connect two separate spaces
This is where I got
This is where i couldn’t get
Consistent FPS, low hardware requirements,
hyperbolic space, multiple portal depth,
render optimization, multiple aberration depth,
procedural textures, illumination models,
level interactivity, world collisions
This is where i couldn’t get
ETC
Why all of this?
Beyond making cool puzzle games
Vr games are kinda uncomfortable
Thank you for your time