# Computer Graphics by nikeborome

VIEWS: 13 PAGES: 31

• pg 1
```									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( ,
i1

(,         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

   tb 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

```
To top