1 of 48

2 of 48

In a non-Euclidean world that isn’t always the case

3 of 48

Non-Euclidean game engine

Jose L. Redondo Tello

4 of 48

What is non-Euclidean geometry?

5 of 48

Euclidean geometry

6 of 48

Euclidean geometry

7 of 48

Euclidean geometry

8 of 48

Euclidean geometry

9 of 48

What happens if we bend that paper?

10 of 48

11 of 48

12 of 48

The space is curved

Straight lines do not exist in this world

13 of 48

Non-Euclidean geometry

Geometric space where a straight line might not be the shortest way to connect two points

14 of 48

How can we achieve those effects?

15 of 48

Ray tracing

Rendering technique

Used to do light calculations

16 of 48

Ray tracing

17 of 48

There is a problem

18 of 48

19 of 48

1.920 x 1.080

Resolution

20 of 48

1.920 x 1.080

Resolution

2.073.600 pixels

21 of 48

2.073.600 rays

22 of 48

THAT IS SLOW

23 of 48

If only I could calculate multiple rays at the same time…

24 of 48

Ray tracing implementation

Compute shaders

25 of 48

Allow to do multiple calculations at the same time

Ray tracing implementation

Compute shaders

26 of 48

Ray tracing implementation

27 of 48

Ray tracing problems

-Send data to the GPU

-GPU quirks

-Performance

28 of 48

Deforming the space

29 of 48

Ray deformation

If the camera rays are deformed, the way the space is perceived will change

30 of 48

Ray deformation

Test different deformation and achieve the desired results through trial and error

31 of 48

Ray deformation

32 of 48

33 of 48

Aberrations

We will call these colliders

34 of 48

Aberrations

Can compress and expand the space within a certain area

35 of 48

36 of 48

Ray deformation

37 of 48

Ray deformation

38 of 48

39 of 48

Portals

We will call these colliders

40 of 48

Portals

Can connect two separate spaces

41 of 48

42 of 48

This is where I got

43 of 48

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

44 of 48

This is where i couldn’t get

ETC

45 of 48

Why all of this?

46 of 48

Beyond making cool puzzle games

47 of 48

Vr games are kinda uncomfortable

48 of 48

Thank you for your time