Presentation is loading. Please wait.

Presentation is loading. Please wait.

ATCM 6317 Procedural Animation

Similar presentations


Presentation on theme: "ATCM 6317 Procedural Animation"— Presentation transcript:

1 ATCM 6317 Procedural Animation
Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa

2 In class Pay attention Take notes Learn Be ready for a pop quiz

3 Weeks 11&14: Rendering Rendering Rendering algorithms

4 What is this? [ "fileversion"," ", "hasindex",false, "pointcount",1, "vertexcount",1, "primitivecount",1, "info",{ "software":"Houdini ", "hostname":"ATEC252898", "artist":"mxk047100", "timetocook": , "date":" :13:27", "time": , "bounds":[-1,1,-1,1,-1,1], "primcount_summary":" Sphere\n", "attribute_summary":" point attributes:\tP\n" }, "topology",[ "pointref",[ "indices",[0] ] ], "attributes",[ "pointattributes",[ [ [ "scope","public", "type","numeric", "name","P", "options",{ "type":{ "type":"string", "value":"point" } } ], [ "size",3, "storage","fpreal32", "defaults",[ "size",1, "storage","fpreal64", "values",[0] ], "values",[ "size",3, "storage","fpreal32", "tuples",[[0,0,0] ] ] ] ] ] ], "primitives",[ [ [ "type","Sphere" ], [ "vertex",0, "transform",[1,0,0,0,0,-1,0,1,0] ] ] ] ]

5 It is… [ "fileversion"," ", "hasindex",false, "pointcount",1, "vertexcount",1, "primitivecount",1, "info",{ "software":"Houdini ", "hostname":"ATEC252898", "artist":"mxk047100", "timetocook": , "date":" :13:27", "time": , "bounds":[-1,1,-1,1,-1,1], "primcount_summary":" Sphere\n", "attribute_summary":" point attributes:\tP\n" }, "topology",[ "pointref",[ "indices",[0] ] ], "attributes",[ "pointattributes",[ [ [ "scope","public", "type","numeric", "name","P", "options",{ "type":{ "type":"string", "value":"point" } } ], [ "size",3, "storage","fpreal32", "defaults",[ "size",1, "storage","fpreal64", "values",[0] ], "values",[ "size",3, "storage","fpreal32", "tuples",[[0,0,0] ] ] ] ] ] ], "primitives",[ [ [ "type","Sphere" ], [ "vertex",0, "transform",[1,0,0,0,0,-1,0,1,0] ] ] ] ]

6 Rendering The process of converting the abstract representations of geometric entities into the appropriate color values in an image. "fileversion"," ", "hasindex",false, "pointcount",1, "vertexcount",1, "primitivecount",1, "info",{ "software":"Houdini ", "hostname":"ATEC252898", "artist":"mxk047100", "timetocook": , "date":" :13:27", "time": , "bounds":[-1,1,-1,1,-1,1], "primcount_summary":" Sphere\n", "attribute_summary":" point attributes:\tP\n" }, "topology",[ "pointref",[ "indices",[0] ]

7 Rendering algorithms Scanline (1970) Z-buffer (1974)
Depth map shadow (1978) Ray-tracing (1980) REYES (1987) Photon mapping (1995) Physically based rendering (1994)

8 Why do we need to know how rendering algorithms work?
Because we understand better: when to use which renderer which parameters are needed how to use them effectively

9 Scanlines and pixels Any digital image is composed of a 2D grid of pixels. Scanline is each row of pixels. 14 x 21 Scanline

10 Scanline Scanline is traced one by one by an electron beam to heat up phosphor of a cathode ray tube display. 14 x 21

11 Scanline algorithm looks at each pixel, one after the other, scanline by scanline, and calculates the color that pixel should be rendered.

12 Scanline algorithm The color of each pixel is computed using:
the color and other surface characteristics of the surface visible from the camera (i.e, the surface closest to the camera), the lights in the scene, and the position of the camera.

13 Scanline algorithm If the surface closest to the camera is transparent, the color of the pixel is computed using the surface characteristics of the next closest surface as well. With the scanline algorithm, light is never refracted.

14 Scanline algorithm Fast
One of the most commonly used rendering algorithm

15 Z-buffer algorithm Z-buffer (depth buffer) stores the closet distance between the camera and the nearest surface at each pixel.

16 Z-buffer algorithm To render a point P on a surface, the distance D between the camera and P is compared with the value Z in the z-buffer. If D <= Z, P is rendered if D > Z, P is not rendered.

17 Z-buffer algorithm Implemented in hardware, e.g. computers and mobile phones. Z-buffer (depth buffer) is used in post-processing for depth of field, fog, composite, etc.

18 Depth map shadow Prior to rendering an image from the camera view, a shadow map is rendered from the viewpoint of a light source that casts shadows. Shadow map contains, at each pixel, the distance between the light source and the nearest surface.

19 Depth map shadow When a point P on a surface is rendered from the camera view, the distance D between the light and P is compared with the distance Z in the depth map. If D > Z, P is in a shadow. If D = Z, P is not. Z

20 Depth map shadow Needs a sufficient map size.

21 Ray-tracing traces the origins of the imaginary light ray that arrives the camera through each pixel in the image plane.

22 Ray-tracing To achieve this, a ray is cast back into the object space to determine whether the ray was absorbed or reflected by a surface, refracted by a transmissive medium, or originated directly from a light source.

23 Ray-tracing The path of a ray may be divided into two when part of light is reflected by a surface while another part travels through the surface.

24 Ray-tracing good at reflection, refraction and shadows.
more time-consuming than scanline rendering or z-buffer rendering. Ray-tracing Scanline

25 Ray-traced shadows can be from transparent colored surfaces
can have soft-edges Ray-traced shadows Depth map shadows

26 Ray-traced shadows more time consuming than depth map shadows.

27 REYES – Render Everything You Ever Saw
All geometries are subdivided into micropolygons. Micropolygons are shaded at vertices. Invisible micropolygons are thrown away. Visible micropolygons are sampled to produce a final image.

28 REYES – Render Everything You Ever Saw
Developed by Pixar for Renderman. Micropolygon rendering in Houdini. Renders displacement mapping, motion blur and depth of field fast. Can be used with ray-tracing and PBR.

29 Direct vs. indirect illumination
Direct illumination occurs when a light source directly illuminates objects in a scene. Indirect illumination occurs when the light that is reflected or transmitted by objects illuminates other objects.

30 Global illumination Global Illumination is the technique used to simulate indirect illumination. Photon mapping is one of global Illumination methods. Photon mapping is a two-pass rendering algorithm that deals with both diffuse and specular reflections.

31 Photon Photons are particles which transmit light.

32 Photon mapping: 1st pass
In the first pass, photons are shot from the light into the scene. Photons are bounced around interacting with all surfaces that they encounter.

33 Photon mapping: 1st pass
Photons are stored in a photon map for later use. Only a few thousands to a million photons are sparsely stored. An estimate of the illumination at each photon is statistically computed. The resolution of the photon map is independent from the resolution of the geometry.

34 Photon mapping: 2nd pass
In the second pass, the direct illumination is computed like ray-tracing and the indirect illumination is computed from querying the stored photons in the photon map.

35 Photon mapping Photon mapping shoots photons from the light and tracks their distribution in the scene. It is more accurate than final gathering.

36 Photon mapping Direct illumination. Photon mapping, Final Gather, all combined

37 Direct illumination only
Indirect illumination created By photon map Direct illumination. Photon mapping, Final Gather, all combined Photon map Direct + indirect illumination

38 Photon map rendering in Houdini
Create Indirect Light object node (GI light) in the top level to use photon map rendering.

39 Physically based rendering (PBR)
follows the physical behavior of light and surfaces as closely as possible. incorporates ray-tracing, photon-mapping, and other methods.

40 Physically based rendering (PBR)
Fresnel Energy conservation: Ld + Ks <= Incoming L

41 PBR: Fresnel describes the behavior of light reflected by a surface with reflectivity that changes depending on the viewing angle.

42 PBR: Fresnel brighter reflections near the edges.

43 PBR: Energy conservation
The outgoing energy cannot be greater than the incoming energy. Diffuse reflection + specular reflection <= incoming light

44 in other rendering algorithms
Diffuse reflection and specular reflection are independently controlled. Diffuse reflection + specular reflection > incoming light is possible.

45 PBR: Energy conservation
In PBR, the energy conservation law is enforced.

46


Download ppt "ATCM 6317 Procedural Animation"

Similar presentations


Ads by Google