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

computer graphics seminar
SMART_READER_LITE
LIVE PREVIEW

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

Computer Graphics Seminar MTAT.03.305 Spring 2017 Raimond Tunnel Contact Information Raimond Tunnel jee7@ut.ee Organizational Information 16 seminars: 3 introductory lectures 10 student presentations 1 special event


slide-1
SLIDE 1

Computer Graphics Seminar

MTAT.03.305 Spring 2017

Raimond Tunnel

slide-2
SLIDE 2

Contact Information

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

Organizational Information

  • 16 seminars:
  • 3 introductory lectures
  • 10 student presentations
  • 1 special event
  • 2 project demonstrations
slide-4
SLIDE 4

We hope that...

  • 16 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 ...

  • 16 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

Or this one?

slide-10
SLIDE 10

This one should be easy...

slide-11
SLIDE 11

Regular seminars

  • Listen to your fellow student's

awesome presentation

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

Your seminar

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

vs

slide-13
SLIDE 13

Sidetrack: Gamma correction

slide-14
SLIDE 14

Sidetrack: Gamma correction

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

slide-15
SLIDE 15

Sidetrack: Bloom effect

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

slide-16
SLIDE 16

Sidetrack: Bloom effect

Elder Scrolls 3: Oblivion

slide-17
SLIDE 17

Back to the main track

slide-18
SLIDE 18

How do I choose a topic?

  • There just were two ideas:
  • 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-19
SLIDE 19

How do I choose a topic?

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

How to choose a topic?

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

How to choose a topic?

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

surfaces)

  • NURBS
slide-22
SLIDE 22

How to choose a topic?

  • OpenGL ver 4.3
  • Lots of new techniques

and topics.

  • For example:

– Tessellation shaders – Geometry shaders

(access to all vertices)

– Procedural texturing http://www.ics.uci.edu/~gopi/CS211B/opengl_programming_guide_8th_edition.pdf

slide-23
SLIDE 23

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-24
SLIDE 24

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-25
SLIDE 25

Previously...

slide-26
SLIDE 26

Non-Photorealistic Rendering

Clay rendering (left) Paint brush (right) Exploded view Wireframe rendering

slide-27
SLIDE 27

Non-Photorealistic Rendering

Pen & ink rendering (above) Cel-shading, the Simpsons game (left)

slide-28
SLIDE 28

Noise Algorithms

Interpolation Smoothness

Value noise Perlin noise Simplex noise

slide-29
SLIDE 29

Noise Algorithms

Use of noise in Terraria

slide-30
SLIDE 30

Procedural Generation

More about noise

slide-31
SLIDE 31

Procedural Generation

Higher dimensional noise

Practical tasks for looping animations and terrain generation!

slide-32
SLIDE 32

Post-Processing Effects 1

Bloom Bloomwith different Gaussian kernels Gaussian depth-of-field Bokeh depth-of-field

slide-33
SLIDE 33

Post-Processing Effects 1

Motion blur Cel-shading Lens flare

slide-34
SLIDE 34

Post-Processing Effects 1

Ambient occlusion Vignette

slide-35
SLIDE 35

Collision Detection

slide-36
SLIDE 36

Collision Detection

Sort-and-sweep algorithm Dynamic bounding volumes

slide-37
SLIDE 37

Collision Detection

The Gilbert – Johnson – Keerthi Algorithm Minkowsky sum and difference Simplices

slide-38
SLIDE 38

Post-Processing Effects 2: AA

Supersampling Multisampling AA Enhanced Quality AA Temporal AA

slide-39
SLIDE 39

Post-Processing Effects 2: AA

Fast-approximation AA Morphological AA

Enhanced Subpixel Morpological AA

slide-40
SLIDE 40

Particle Systems

slide-41
SLIDE 41

Particle Systems

  • Position
  • Velocity (speed and direction)
  • Color
  • Lifetime
  • Age
  • Shape
  • Size
  • Transparency
slide-42
SLIDE 42

Particle Systems

  • GPU Particles
slide-43
SLIDE 43

Tessellation

slide-44
SLIDE 44

Tessellation

Triangle inner and outer tessellation parameters.

slide-45
SLIDE 45

Tessellation

  • Displacement mapping
  • Bezier triangles
slide-46
SLIDE 46

Non-Euclidean Geometry

Examples of hyperbolic and elliptic planes

slide-47
SLIDE 47

Non-Euclidean Geometry

{7, 3} (regular) Uniform tiling of a hyerpolic plane Apeirogon Has countably infinite no. of sides

slide-48
SLIDE 48

Non-Euclidean Geometry

Portals

slide-49
SLIDE 49

Still confused?

slide-50
SLIDE 50

You can...

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

World is a vast and mysterious place!

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

slide-52
SLIDE 52

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-53
SLIDE 53

What about the project?

  • Interactive demo on the same topic as your

seminar

slide-54
SLIDE 54

What about the project?

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

What about the project?

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

What about the project?

  • Do something fun and exciting
slide-57
SLIDE 57

Want to do a LARGER project?

  • Computer Graphics Project (MTAT.03.316)
  • 3 credits course
  • Consists entirely of a project
  • Work on your own idea throughout the semester
  • Roughly 6h per every 2 weeks
  • https://courses.cs.ut.ee/2016/cg-project/fall
slide-58
SLIDE 58

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-59
SLIDE 59

I don't even know where to start!

  • There will be 2 more introductory lectures about the

basics.

  • Check out slides and tasks 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/2016/cg-sem/fall/Main/Seminars

https://courses.cs.ut.ee/2016/cg/fall

https://courses.cs.ut.ee/2016/cg-sem/spring/Main/Seminars

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

slide-60
SLIDE 60

Questions?

slide-61
SLIDE 61

List of some arbitrary 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-photorealistic 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?

slide-62
SLIDE 62

List of some other topics

  • 11. Physically-Based Shading – What is it? Why is it important to understand physical

properties of materials for shading? What games / game engines use it?

  • 12. Rendering in VR – What extra considerations are in VR? How do different

technologies overcome them?

  • 13. Vulkan – What can be done with it? Why is it useful? How to Vulkan?
  • 14. Subsurface scattering – What is it? How it is implemented? What does it solve?
  • 15. Reflections and caustics – What are the modern techniques, which do those?
  • 16. GLSL vs HLSL – What are the differences? How are both used?
  • 17. Use case study – Find out in detail how graphics are done in one game or movie.
  • 18. Motion capture – What are the difficulties today? Best budget setup for it?
  • 19. Modern GPU architecture – How are GPU-s built today? What are they optimized for?
  • 20. Graphics on consoles / smartphones – What limitations are there in consoles or

embedded systems vs the PC? How to overcome them compared to the PC approach?

slide-63
SLIDE 63

List of some other topics