computer graphics seminar
play

Computer Graphics Seminar MTAT.03.296 Fall 2014 Raimond Tunnel - PowerPoint PPT Presentation

Computer Graphics Seminar MTAT.03.296 Fall 2014 Raimond Tunnel Conclusion Geometry Points locations in space vertices Vectors directions Where are vectors in this picture? Polygons objects in space S o . . . ?


  1. Computer Graphics Seminar MTAT.03.296 Fall 2014 Raimond Tunnel

  2. Conclusion

  3. Geometry ● Points – locations in space – vertices ● Vectors – directions Where are vectors in this picture? ● Polygons – objects in space S o . . . ? : )

  4. Transformations ● Matrices represent transformations: ● Linear ? ? ● Affine ● Projection ? ? ?

  5. Transformations ● Matrices represent transformations: ● Linear Translation column Linear transformation ● Affine ● Projection Affine transformation Point Used for perspective projection

  6. Transformations ● Matrices represent transformations: ? ● Linear Translation column Linear transformation ● Affine ● Projection ? Affine transformation ? Point Used for perspective projection

  7. Transformations Shift, move, add to coordinates Translation column Linear transformation ● Rotation x, y, z by fixed angle ● Shear x, y, z by fixed angle ● Scaling Affine transformation Preserves straight lines. Parallel lines stay parallel. Point Used for perspective projection

  8. Transformations ● What does this matrix do? ( 1 ) ⋅ ( 1 ) 5 0 0 2 x 0 5 0 2 y = ? z 0 0 1 0 0 0 0

  9. Transformations ● What does this matrix do? Add 2 to x and y coordinates. Scale x and y by 5 times = ( 1 ) ( 1 ) ⋅ ( 1 ) = ( 1 ⋅ 1 ) 5 ⋅ x + 2 ⋅ 5x + 2 5 0 0 2 1 x 5 ⋅ y + 2 ⋅ 0 5 0 2 1 5y + 2 y z stays the same z 1 ⋅ z 0 0 1 0 z 0 0 0 Point remains a point

  10. Shading and Lighting ● Shading models: Which is which? ● Per-polygon shading – flat shading ● Per-vertex shading – Gouraud shading ● Per-fragment shading – Phong shading ? ? s i h t e k i l e b u c d e d a h s d u a r u o G t ' n s i , t i a W

  11. Shading and Lighting By default three.js uses Gouraud shading for Lambertian; Phong shading for Phong. http://stackoverflow.com/questions/15801971/three-js-what-is-the-exact-difference-between-lambert-and-phong Lambertian, point light Lambertian, directional light Phong, point light Lighting Per-vertex Per-fragment Per-vertex Shading http://cgdemos.tume-maailm.pri.ee/

  12. Shading and Lighting What lighting model is this?

  13. Shading and Lighting ● Ambient ● Lambertian – diffuse W h a ● Phong – specular t m o d e l s a r e a p p l i e d h e r e ? ● Blinn-Phong – specular

  14. Shading and Lighting ● What about Blinn-Phong? ● Which angle would we use there?

  15. Shading and Lighting ● Phong vs Blinn-Phong Intensity T ⋅ l ⋅ L D ⋅ M D +( h T ⋅ n ) c ⋅ L S ⋅ M S I = L A ⋅ M A + n Ambient D i f f u s e g : n L o a h P m - b n n e i r l t B : a r l u c e p S

  16. Shading and Lighting ● Very important control question!! ● Which surface is more brighter? a) b)

  17. Shading and Lighting

  18. Lighting and Shading ● Principles of Lighting and Rendering with John Carmack at QuakeCon 2013 https://www.youtube.com/watch?v=IyUgHPs86XM

  19. Shading and Lighting

  20. Field Trip & 3D Scanning Constructed model in Blender Pointcloud in MeshLab

  21. Bump Mapping ● So what was a bump map? ● What about a normal map?

  22. Bump Mapping ● Bump Map ● Texture of surface displacements, that won't actually change the geometry, but allow for a different normal calculation. ● Normal Map Why do we change the ● Texture of different normals. normals and not the actual surface geometry?

  23. Bump Mapping https://www.shadertoy.com/view/ldjSDW

  24. Real-Time Water Surface Rendering ● Water surface reflects ● Render another scene to a buffer underneath the water to determine the reflection What happens with the fish?

  25. Real-Time Water Surface Rendering ● What if the surface is wavy? a) b)

  26. Real-Time Water Surface Rendering ● Sample the reflection from the buffer based on the changed direction. https://www.shadertoy.com/view/ld2SRy

  27. 3D Wayfinder ● Estonian business that supplies interactive wayfinders all over the world. http://3dwayfinder.com/

  28. 3D Wayfinder Consensus on the coordinate axes directions is important!

  29. 3D Wayfinder Not only graphical bugs, what about finding a shortest path in an environment?

  30. Artist's View ● Programmers think that artists are lazy ● Artists think that programmers will steal their work

  31. Artist's View y l o p ● Art asset pipeline: - w o l h t i w t r a y t s l o y p l - l h a g n i o h i t p t ● Start with high-poly model i O e k a m d n a ● Sculpt it (change shape with a brush, affecting many vertices at a time) What is missing here? ● ? ● Convert to low-poly (retopo – remake topology) ● Use in a game? Just use the low-poly model in game as is? Did not support our mysterious thing. http://www.ttlg.com/forums/showthread.php?t=138460 Enhanced Dark Engine, 1999

  32. Artist's View ● How can artists and programmers get along? ● Mixed meetings with artists and programmers ● Communication ● Established pipeline ● Avoid high-poly models in product

  33. Procedural Generation ● Lot can be procedurally generated Borderlands 2 ● Single objects Show – Weapons this if there is time – Trees Starbound ● Life forms ● Animations Overgrowth https://www.youtube.com/watch?v=SAtwQa8t_3g

  34. Procedural Generation ● Textures Different texture based on height Texture itself generated by combination of functions Perlin noise – combination (sum) of interpolations of differently sampled From the wave sampling demo... random signals https://www.shadertoy.com/view/ld2SRy

  35. Procedural Generation My water ● World surface demo – Grid http://tume-maailm.pri.ee/ylikool/ScientificComputing/Project/ – Voxel – Tile Minecraft Terraria

  36. Procedural Generation ● World Binding of Isaac: Rebirth http://bytten-studio.com/devlog/2014/09/08/overworld-overview-part-1/ Lenna's Inception. Large procedurally generated world. Perlin noise for heightmap + template rooms for buildings. http://lennasinception.com/about/

  37. Procedural Generation

  38. Texture Mapping ● Andres, you haven't sent me your slides! ● Texture Re-Mapping ● Andres has a photo of a red shirt ● He wants to generate photos of blue and green shirts.

  39. Texture Mapping ● Use an image to define the color of your object ● Image will be mapped to your 3D object http://gabe687.deviantart.com/art/Baked-texture-map-50600743

  40. Texture Mapping ● Different lower-resolution images of the original texture map called mipmaps. Sample from smaller resolution image if object is far away. ● Different schemes to sample from a texture (filter): ● Nearest neighbour (interpolation / mipmap) ● Bilinear ● Trilinear ● Anistropic http://en.wikipedia.org/wiki/Texture_filtering

  41. Raphael.js ● JavaScript library for SVG (scalable vector graphics) ● SVG – standard format for defining vector graphics Remember the tiger? http://raphaeljs.com/tiger.html

  42. Three.js ● JavaScript library for WebGL and 3D graphics ● Has the things we have learned here: ● MeshLambertMaterial ● DirectionalLight ● OrthographicCamera ● Matrix4 ● TorusGeometry ● ... CGLearn and CGDemos are both done with three.js https://cglearn.codelight.eu http://cgdemos.tume-maailm.pri.ee/

  43. Virtual Reality

  44. Virtual Reality ● Virtual Reality vs Augmented Reality? ● A lot of demanding requirements: ● Rotational accuracy < ¼ degrees ● Translational accuracy < 1 mm ● At least 90 FPS ● Less than 20 ms latency ● More than 1k resolution per eye ● ... Otherwise:

  45. Virtual Reality ● We tried out a couple of demos on the Oculus Rift DK2: ● Sightline ● Windlands ● Ats's Demo Game

  46. Virtual Reality ● John Carmack is back! ● Oculus Connect Keynote: John Carmack https://www.youtube.com/watch?v=gn8m5d74fk8

  47. Feedback ● How did you like the seminar organization? ● Did you found our activities interesting / useful? Which ones especially? ● What would you change?

  48. Thanks for listening!

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend