Adventures with the GPU Roice Nelson GE Aviation, Austin TX My - - PowerPoint PPT Presentation

β–Ά
adventures with the gpu
SMART_READER_LITE
LIVE PREVIEW

Adventures with the GPU Roice Nelson GE Aviation, Austin TX My - - PowerPoint PPT Presentation

Adventures with the GPU Roice Nelson GE Aviation, Austin TX My goals for this talk Provide resources and motivation to get started with shader programming roice3.org/icerm A few mathematical detours Share fun with @TilingBot and a


slide-1
SLIDE 1

Adventures with the GPU

Roice Nelson

GE Aviation, Austin TX

slide-2
SLIDE 2
  • Provide resources and motivation to get started

with shader programming roice3.org/icerm

  • A few mathematical detours
  • Share fun with @TilingBot

and a resulting art piece

  • Tons and tons of pictures and animations! Maybe too many

My goals for this talk

slide-3
SLIDE 3

What is a shader?

Shaders are little programs that run on the GPU. These programs run at certain points of the graphics pipeline.

slide-4
SLIDE 4

From primitives to shaders

slide-5
SLIDE 5

From primitives to shaders

slide-6
SLIDE 6

From primitives to shaders

slide-7
SLIDE 7

From primitives to shaders

slide-8
SLIDE 8

β€œFolding”

slide-9
SLIDE 9

www.shadertoy.com

slide-10
SLIDE 10

Shader #2: Isometry classes of hyperbolic space 𝐺 𝑨 = 𝑏𝑨 + 𝑐 𝑑𝑨 + 𝑒 𝑄𝑇𝑀(2, 𝑫) β‰… 𝑄𝐻𝑀(2, 𝑫) ΰ·‘ 𝑫 = 𝑫 βˆͺ ∞

Group of MΓΆbius Transformations

slide-11
SLIDE 11

This is not a cone

slide-12
SLIDE 12

It’s a cylinder in UHS model: Elliptic Isometry

slide-13
SLIDE 13

Hyperbolic Isometry

slide-14
SLIDE 14

Hyperbolic Isometry

slide-15
SLIDE 15

Loxodromic Isometry

slide-16
SLIDE 16

Loxodromic Isometry

slide-17
SLIDE 17

This is not a plane

slide-18
SLIDE 18

It’s a horosphere: Parabolic Isometry

slide-19
SLIDE 19

Raymarching

See β€œRay Marching and Signed Distance Functions” by Jamie Wong

Credit: GPU Gems 2: Chapter 8

slide-20
SLIDE 20

Quaternions! 𝑨 ↦ 𝑏𝑨 + 𝑐 𝑑𝑨 + 𝑒 π‘₯ ↦ 𝑏π‘₯ + 𝑐 𝑑π‘₯ + 𝑒 π‘₯ = 𝑨 + π‘§π’Œ , 𝑧 ∈ 𝑺+ , 𝑨 ∈ ΰ·‘ 𝑫

slide-21
SLIDE 21

Shader #3: Spherical Images

slide-22
SLIDE 22
slide-23
SLIDE 23
slide-24
SLIDE 24

Shader #4: Hyperbolic VR using Raymarching

Folding AND Raymarching, see Henry’s NSF video!

slide-25
SLIDE 25

Utilities

  • Shadertoy-render
  • ffmpeg
  • Pov-Ray
  • LinqToTwitter

Again, links (and scripts) at: roice3.org/icerm

slide-26
SLIDE 26

In my experience…

Advantages

  • Fast!
  • Motion
  • Quality
  • Fractals
  • WebGL
  • Lots of Examples

Disadvantages

  • Hardware
  • Debugging
  • Optimization
  • Low-level
  • Code libraries
slide-27
SLIDE 27

β€œThe explorer who will not come back or send back his ships to tell his tale is not an explorer,

  • nly an adventurer.”
  • Ursula K. Le Guin, The Dispossessed: An Ambiguous Utopia
slide-28
SLIDE 28

@Tilingbot

slide-29
SLIDE 29

The Real Shader #1: Hyperbolic Wythoff explorer

by Matt Zucker, mzucker.github.io

slide-30
SLIDE 30
slide-31
SLIDE 31

Regular and Rectified

slide-32
SLIDE 32

Uniform Tilings

Truncation

5 7

slide-33
SLIDE 33

Uniform Tilings

Bitruncation

5 7

slide-34
SLIDE 34

Uniform Tilings

Cantellation

5 7

slide-35
SLIDE 35

Uniform Tilings

Omnitruncation

5 7

slide-36
SLIDE 36
slide-37
SLIDE 37

Duals to Uniform (Catalan Tilings)

slide-38
SLIDE 38

The Same But Different

slide-39
SLIDE 39

Rotating in a conformal square

Snub {8,8}

slide-40
SLIDE 40

In a rotating conformal square

Omnitruncated {6,9}

slide-41
SLIDE 41

Omnitruncated {6,9}

slide-42
SLIDE 42

Omnitruncated {6,9}

slide-43
SLIDE 43

Rotating in the band model

Truncated {6,4}

slide-44
SLIDE 44

In a rotating band model

Truncated {8,4}

slide-45
SLIDE 45

Limit Rotations

Omnitruncated {4,∞} Truncated {3,∞}

slide-46
SLIDE 46

Joukowsky projection 𝑨 =

1 2 πœ‚ + 1 πœ‚

named after Nikoli Zhukovsky

slide-47
SLIDE 47

The best internal representation?

slide-48
SLIDE 48
slide-49
SLIDE 49

Thank you!

roice3.org/icerm