Computer Graphics Seminar MTAT.03.305 Spring 2015 Raimond Tunnel - - PowerPoint PPT Presentation

computer graphics seminar
SMART_READER_LITE
LIVE PREVIEW

Computer Graphics Seminar MTAT.03.305 Spring 2015 Raimond Tunnel - - PowerPoint PPT Presentation

Computer Graphics Seminar MTAT.03.305 Spring 2015 Raimond Tunnel Contact Information Raimond Tunnel jee7@ut.ee Konstantin Tretjakov kt@ut.ee Organizational Information 16 seminars: 3 introductory lectures 11 student


slide-1
SLIDE 1

Computer Graphics Seminar

MTAT.03.305 Spring 2015

Raimond Tunnel

slide-2
SLIDE 2

Contact Information

  • Raimond Tunnel – jee7@ut.ee
  • Konstantin Tretjakov – kt@ut.ee
slide-3
SLIDE 3

Organizational Information

  • 16 seminars:
  • 3 introductory lectures
  • 11 student presentations
  • 2 project demonstrations
slide-4
SLIDE 4

We hope that...

  • 15 seminars

Attendance: 22.5h = 0.85 credits

  • 1 seminar

Preparation: 16h = 0.6 credits Conducting: 1.5h = 0.05 credits

  • Project

Everything: 40h = 1.5 credits

slide-5
SLIDE 5

... but it may happen that ...

  • 15 seminars

Attendance: 22.5h = 0.85 credits

  • 1 seminar

Preparation: 56h = 2.1 credits Conducting: 1.5h = 0.05 credits

  • Project

Everything: 0h = 0 credits

I read 3 books and am now a master of the subject. Ain't nobody got time for that...

slide-6
SLIDE 6

What am I even doing here?

slide-7
SLIDE 7

What do I see?

slide-8
SLIDE 8

What about this one?

slide-9
SLIDE 9

This should be easy...

slide-10
SLIDE 10

Regular seminars

  • Listen to your fellow student's

awesome presentation

  • Ask questions, discuss
  • X > 1 heads are better than one
slide-11
SLIDE 11

Your seminar

  • Choose an interesting CG topic
  • Make the seminar fun and interactive
  • Present some applications / demos
  • Workshop

vs

slide-12
SLIDE 12

Sidetrack: Gamma correction

slide-13
SLIDE 13

Sidetrack: Gamma correction

GPU Gems 3: http://http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html

slide-14
SLIDE 14

Sidetrack: Bloom effect

Need for Speed: Most Wanted Elephant's Dream Hitman: Absolution Warframe: https://www.youtube.com/watch?v=gYHxhlvEyHk

slide-15
SLIDE 15

Back to the main track

slide-16
SLIDE 16

How do I choose a topic?

  • I just gave you two possibilities:
  • Shader effects (like the Bloom effect)
  • Gamma correction
  • Read something and find interesting topics
  • OpenGL's Red Book
  • GPU Gems
  • More "sophisticated" literature
  • Continue on some already discovered theme
  • My example: Procedural tree generation?
slide-17
SLIDE 17

How do I choose a topic?

  • Continue on some already discovered theme
slide-18
SLIDE 18

How to choose a topic?

  • OpenGL ver 3.0 & 3.1
  • Practical
  • Basic topics:
  • Viewing
  • Color
  • Lighting
  • Blending
  • Textures
  • Buffers
slide-19
SLIDE 19

How to choose a topic?

  • Advanced topics:
  • Display lists (perf.)
  • Tessellation
  • Quadrics
  • Evaluators (curves &

surfaces)

  • NURBS
slide-20
SLIDE 20

How do I choose a topic?

  • Covers all topics

already mentioned and more

  • Math heavy, but most
  • f it you should be at

home with

slide-21
SLIDE 21

Extra conditions!

First time participant BSc, MSc Returning participant MSc, PhD No additional requirements – you can choose any CG- related topic. Your topic should be related to several scientific articles / a book. ACM SIGGRAPH (Special Interest Group on GRAPHics and Interactive Techniques): http://www.siggraph.org/

slide-22
SLIDE 22

Previously...

slide-23
SLIDE 23

3D Scan Data

http://ikuz.eu/2014/04/03/proof-of-concept-from-3d-scanner-to-animated-model/ Pointcloud in MeshLab Constructed model in Blender

slide-24
SLIDE 24

3D Printing

slide-25
SLIDE 25

Bump Mapping

  • Change surface normals according to a surface

height map.

  • Surface normals are used in light calculations
slide-26
SLIDE 26

Bump Mapping

  • Use finite (central) difference to calculate the

derivative from the bump map.

  • Assemble the gradient, transform to correct

space, add to the surface normal.

Finite difference schemes

slide-27
SLIDE 27

http://tume-maailm.pri.ee/ylikool/ComputerGraphicsSeminar/2014/fall/slides/other/BumpMapping-KarlTarbe.pdf

slide-28
SLIDE 28

Bump Mapping

https://www.shadertoy.com/view/ldjSDW

slide-29
SLIDE 29

Real-Time Water Surface Rendering

  • Reflective (and refractive) surface
  • Wavy surface
  • Caustic effects
  • Transparency
  • ...
slide-30
SLIDE 30

Real-Time Water Surface Rendering

  • Reflection off the water surface
slide-31
SLIDE 31

Real-Time Water Surface Rendering

  • Waves modeled with sine waves

https://www.shadertoy.com/view/ld2SRy

slide-32
SLIDE 32

Projections

  • Orthographic
  • Used in engineering
  • Oblique
  • Used in magazines
  • Perspective
  • Used in games, movies
  • The way we see the world
slide-33
SLIDE 33

Projections

  • Clip space
slide-34
SLIDE 34

Projections

  • View volume [-1, 1]×[-1, 1]
slide-35
SLIDE 35

Projections

  • From view volume to screen space

point '=M viewPort ⋅M projection ⋅M camera ⋅point

slide-36
SLIDE 36

Procedural Generation

  • Creating content algorithmically
  • Textures
slide-37
SLIDE 37

Procedural Generation

  • Objects, animations

Borderlands 2 L-System tree Starbound Overgrowth

https://www.youtube.com/watch?v=SAtwQa8t_3g

slide-38
SLIDE 38

Procedural Generation

  • Worlds

Minecraft Terraria Binding of Isaac: Rebirth

slide-39
SLIDE 39

Post-Processing Effects

  • Tone Mapping (High / Low Dynamic Range)
  • Color Correction
  • Anti-Aliasing
  • Eye Adaption
  • Bloom
  • Motion Blur
  • Depth of Field
  • Lens Flare
slide-40
SLIDE 40

Post-Processing Effects

  • Bloom – uses Gaussian blur

Gaussian Kernel Calculator: http://dev.theomader.com/gaussian-kernel-calculator/ 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 0.08 0.12 0.08 0.12 0.20 0.12 0.08 0.12 0.08 Ordinary Mean / Blur Kernel Gaussian Kernel

slide-41
SLIDE 41

Re-Texturing

  • Take a photograp of the red shirt on a robotic

mannequin

  • Generate the photographs for the blue and

green shirts

slide-42
SLIDE 42

Re-Texturing

slide-43
SLIDE 43

WebGL, Three.js, Raphael.js

  • Graphics technologies / libraries for the web
  • WebGL – 3D graphics
  • Raphael.js – Scalable Vector Graphics (SVG)

http://raphaeljs.com/tiger.html

slide-44
SLIDE 44

WebGL, Three.js, Raphael.js

  • Most often used as 3D library (on top of WebGL)
  • CGLearn examples are done in Three.js
  • Also: http://cgdemos.tume-maailm.pri.ee/
slide-45
SLIDE 45

Virtual Reality

  • Lot of high requirements for graphics:
  • Rotational accuracy < ¼ degrees
  • Translational accuracy < 1 mm
  • At least 90 FPS
  • Less than 20 ms latency
  • More than 1k resolution per eye
  • ...

Otherwise:

slide-46
SLIDE 46

Virtual Reality

  • We tried out a couple of demos on the Oculus

Rift DK2:

  • Sightline
  • Windlands
  • Ats's Demo Game
slide-47
SLIDE 47

Still confused?

slide-48
SLIDE 48

You can...

  • ... pick any topic from previous year
  • ... pick some other CG related topic
slide-49
SLIDE 49

World is a vast and mysterious place!

Mandelbulber, http://krzysztofmarczak.deviantart.com/art/3D-Mandelbrot-1-263702708

slide-50
SLIDE 50

Ok, so I have a topic now...

  • Look for materials
  • Investigate, research
  • Find examples
  • Try it out yourself
  • Present your findings
  • Engage others
  • Discussion
  • Interactive demo
  • Workshop
slide-51
SLIDE 51

What about the project?

  • Interactive demo on the same topic as your

seminar

slide-52
SLIDE 52

What about the project?

  • Advance something you've already done
slide-53
SLIDE 53

What about the project?

  • Can, of course, be a team / group effort!
slide-54
SLIDE 54

What about the project?

  • Do something fun and exciting
slide-55
SLIDE 55

I didn't understand >70% of what you said...

  • Don't worry about it!
  • Pick a topic that suits your knowledge base
  • Your topic may very well be:
  • Rasterization of triangles
  • Comparison of lighting models
  • How to do simple shadows?
  • Raytracing explained
  • etc
slide-56
SLIDE 56

I don't even know where to start!

  • There will be 2 more introductory lectures about the

basics.

  • Check out slides and exercises from Computer

Graphics MTAT.03.015:

  • Check out the slides from the previous seminar:
  • Find some online tutorial that seems managable for

you and try it out.

https://courses.cs.ut.ee/2014/cg-seminar/spring/Main/Seminars

https://courses.cs.ut.ee/2013/cg/fall https://courses.cs.ut.ee/2015/cg/spring

https://courses.cs.ut.ee/2014/cg-sem/fall/Main/Seminars

slide-57
SLIDE 57

Questions?

slide-58
SLIDE 58

List of some topics

  • 1. Color blending – What happens when there are transparent objects in your scene?
  • 2. Lighting models – What are the common models? Where and when are they used?
  • 3. Texturing – How can one sample from a texture? What kinds of artefacts may appear?
  • 4. Curves – Why are they important in CG? What about curved surfaces?
  • 5. Global illumination – Pick one or compare different methods: Radiosity, path tracing,

photon mapping.

  • 6. Realtime realistic rendering – Provide an overview of the common methods or pick

some effect (light, wetness, fog, fur / hair) and find out how it's rendered realistically in real time.

  • 7. Non-realistic rendering – Where is it used and how is it achieved? Realtime vs

prerendered?

  • 8. Tessellation – How can this be done in OpenGL 4?
  • 9. Post-processing effects – What effects are there? When and how are they used?
  • 10. Procedural generation – Where and how is it used? How to apply procedural textures

to procedurally generated meshes?