Document Sample

Computer Graphics Inf4/MSc Computer Graphics Lecture 6 Rasterisation, Antialiasing, Texture Mapping, Computer Graphics Inf4/MSc Some Tutorial about the Project • I have alreadystcovered all the topics needed to finish the 1 practical • Today, I will briefly explain how to start working on it. • I have already provided you a program to import an obj file. 2 Computer Graphics Inf4/MSc Steps •Apply transformations to all vertices •Prepare the frame buffer and Z-buffer •For each triangle • Project it to the screen space • Find the 2D bounding box • For each pixel in the bounding box • Check if it is inside the triangle by computing its barycentric coordinates • If yes, use barycentric coordinates to compute the depth and colour at the pixel • If (depth < zbuf[pixel]) { framebuffer[pixel] = colour zbuf[pixel] = depth } •Export the frame buffer data into a PPM file 3 Computer Graphics Inf4/MSc • For each pixel in the bounding box • Check if it is inside the triangle by computing its barycentric coordinates • If yes, use barycentric coordinates to compute the depth and colour at the pixel z = αz + β z2 + γ z3 1 c = αc + β c2 + γ c3 1 • If (z < zbuf[pixel]) { framebuffer[pixel] = colour zbuf[pixel] = c } Computer Graphics Inf4/MSc Computing the baricentric coordinates of the interior pixels • The triangle is composed of 3 points p0 (x0,y0), p1 (x1, y1), p2(x2,y2) (α,β,γ) : barycentric coordinates Only if 0<α,β,γ<1, (x,y) is inside the triangle Depth can be computed by αZ0 + βZ1 +γZ2 Can do the same thing for color, normals, textures 5 Computer Graphics Inf4/MSc Today • Anti-aliasing • Texture mapping – Common texture coordinates mapping – Texture coordinates 6 Computer Graphics Rasterisation Inf4/MSc • Converts the vertex information output by the geometry pipeline into pixel information needed by the video display – Anti-aliasing – Z-buffer – Texture mapping – Bump mapping – Transparent objects – Drawing lines 7 Computer Graphics Anti-aliasing Inf4/MSc • Aliasing: distortion artifacts produced when representing a high-resolution signal at a lower resolution. • Anti-aliasing : techniques to remove aliasing Aliased polygons Anti-aliased polygons 8 (jagged edges) Computer Graphics Inf4/MSc Nyquist Limit • The signal frequency (fsignal) should be no greater than half the sample frequency (fsample) • fsignal <= 0.5 fsample • In the top, fsignal = 0.8 fsample -> cannot reconstruct the original signal • In the bottom fsignal =0.5 fsample -> the original signal can be reconstructed by slightly increasing the sampling rate Computer Graphics Inf4/MSc Screen-based Anti-aliasing Each pixel is subdivided (sub-sampled) into n regions, and each sub-pixel has a color; Compute the average color value n p x y) ic i, x y) (, w( , i1 (, color y) p x y):pixel at(x, ( , color c i, x y):sample w : weight i 10 Computer Graphics Inf4/MSc Accumulation Buffer (A-Buffer) • Use a buffer that has the same resolution as the original image • To obtain a 2x2 sampling of a scene, 4 images are made by shifting the buffer horizontally/vertically for half a pixel • The results are accumulated and the final results are obtained by averaging • Various sampling schemes are available Pixel center Subsampled point Different Sampling Schemes Computer Graphics Inf4/MSc Computer Graphics Inf4/MSc Computer Graphics Inf4/MSc Accumulation Buffer (A-Buffer) • The lighting computation is usually done only once per vertex • Not doing the lighting computation at each sample point • The A-buffer‟s focus is on the edge anti- aliasing • Also useful for rendering transparent objects, motion blur (will be covered later in the course) Edges Computer Graphics Inf4/MSc Stochastic Sampling • A scene can be produced of objects that are arbitrarily small • A regular pattern of sampling will always exhibit some sort of aliasing • One approach to solve this is to randomly sample over the pixel – Jittering : subdivide into n regions of equal size and randomly sample inside each region Computer Graphics Inf4/MSc The oversampling rate is 1 and 2 from left to right Computer Graphics Inf4/MSc Today • Anti-aliasing • Texture mapping – Common texture coordinates mapping – Texture coordinates 17 Computer Graphics Inf4/MSc Texture Mapping : Why needed? • We don't want to represent all this detail with geometry Computer Graphics Inf4/MSc Texture mapping. • Method of improving surface appearance by adding details on surface. 19 Computer Graphics Inf4/MSc Texture mapping. • Image is „pasted‟ onto a polygon. • Image is called a Texture map, it‟s pixels are often referred as a Texels and have coordinates (u,v) • Texture coordinates are defined for each vertex of the polygon and interpolated across the polygon. y v v u u x 20 Computer Graphics Inf4/MSc Photo-textures Computer Graphics Inf4/MSc Texture Interpolation • Specify a texture coordinate (u,v) at each vertex • Can we just linearly interpolate the values in screen space? (0,1) (0,0) (1,0) Computer Graphics Inf4/MSc Interpolating the uv coordinates Again, we use baricentric u1 v1 coordinates u3 v3 u= α u + β u2 + γ u3 1 v = α v + β v2 + γ v3 1 u2 v2 Computer Graphics Inf4/MSc Interpolation - What Goes Wrong? • Linear interpolation in screen space: texture source what we get| what we want Computer Graphics Inf4/MSc Why does it happen? • Uniform steps on the image plane does not correspond to uniform steps along the edge Computer Graphics Inf4/MSc How do we deal with it? • Use hyperbolic interpolation – (u,v) cannot be linearly interpolated, but 1/w and (u/w, v/w) can – w is the last component after the canonical view transformation 2n r l 0 0 pw x r l r l x w t y 0 2n b p 0 y tb t b z z pw f fn n 2 0 0 w f 1 n f n 0 0 0 1 Computer Graphics Inf4/MSc Texture Mapping Examples • Linear interpolation vs. Hyperbolic interpolation • Two triangles per square Computer Graphics Inf4/MSc Computing the uv coordinates at the internal points • For three points of the triangle, get 1u v i r [ i, , i , i ] p www i i i 1 u v [ , i, i] • Compute w w w i i i at the internal points of the triangle by interpolation • Compute wi by inverting 1/wi, and multiply them to (ui /wi, ,vi /wi) to compute (ui,vi) Computer Graphics Inf4/MSc Common Texture Coordinate Mappings • Orthogonal • Cylindrical • Spherical Computer Graphics Inf4/MSc Texture Mapping & Illumination • Texture mapping can be used to alter some or all of the constants in the illumination equation: – pixel color, diffuse color …. Phong’s Illumination Model Constant Diffuse Color Diffuse Texture Color Texture used as Label Texture used as Diffuse Color Computer Graphics Inf4/MSc Readings • Chapter 5.1-2 of Real-Time Rendering Second edition – http://books.google.co.uk/books?id=mOKEfBT w4x0C&printsec=frontcover&source=gbs_v2_ summary_r&cad=0#v=onepage&q=&f=false • “Hyperbolic Interpolation” IEEE Computer Graphics and Applications, vol12, no.4, 89- 94, 1992 • Demoed Software http://www-ui.is.s.u-tokyo.ac.jp/~takeo/java/smoothteddy/index.html

DOCUMENT INFO

Shared By:

Categories:

Tags:
computer graphics, computer science, 3D computer graphics, vector graphics, 2D computer graphics, Computer animation, ray tracing, Graphic design, 3D models, computer art

Stats:

views: | 20 |

posted: | 3/12/2011 |

language: | English |

pages: | 31 |

OTHER DOCS BY nikeborome

How are you planning on using Docstoc?
BUSINESS
PERSONAL

By registering with docstoc.com you agree to our
privacy policy and
terms of service, and to receive content and offer notifications.

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.