UNC Pixel Planes designed by Prof. Henry Fuchs et al.

Slides:



Advertisements
Similar presentations
Solving Quadratic Equations Using the Zero Product Property
Advertisements

15.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 15 – Visible Surfaces and Shadows.
Table of Contents Solving Linear Inequalities Graphically It is assumed you already know how to solve linear inequalities algebraically. A inequality is.
1 RTL Example: Video Compression – Sum of Absolute Differences Video is a series of frames (e.g., 30 per second) Most frames similar to previous frame.
6.1 Vector Spaces-Basic Properties. Euclidean n-space Just like we have ordered pairs (n=2), and ordered triples (n=3), we also have ordered n-tuples.
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
1 Computer Graphics Chapter 9 Rendering. [9]-2RM Rendering Three dimensional object rendering is the set of collective processes which make the object.
Example 1 Solve ax b c for x. Then use the solution to solve Solve a literal equation + = += 2x SOLUTION STEP 1 Solve ax b c for x. += ax b c Write.
Computer Graphics - Class 10
Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray
VLSI Arithmetic. Multiplication A = a n-1 a n-2 … a 1 a 0 B = b n-1 b n-2 … b 1 b 0  eg)  Shift.
Computer ArchitectureFall 2008 © August 25, CS 447 – Computer Architecture Lecture 3 Computer Arithmetic (1)
Number Representation (1) Fall 2005 Lecture 12: Number Representation Integers and Computer Arithmetic.
6.1 Vis_04 Data Visualization Lecture 6 - A Rough Guide to Rendering.
©Larry F. Hodges (modified by Amos Johnson) 1 Shading Models.
Adding and Subtracting Numbers in Scientific Notation
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Shading Week 5, Wed 1 Oct 2003 recap: lighting shading.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Adding and Subtracting Integers.
They are the same as registers since they store binary numbers. Called shifting registers since they shift (left or right) the binary number stored in.
Polygon Shading. Assigning color to a shape to make graphical scenes look realistic, or artistic, or whatever effect we’re attempting to achieve But first.
CS 445 / 645 Introduction to Computer Graphics Lecture 18 Shading Shading.
CS-321 Dr. Mark L. Hornick 1 3-D Object Modeling.
Shading (introduction to rendering). Rendering  We know how to specify the geometry but how is the color calculated.
General Fixed Radix Number Systems Nonredundant Positive radix, ß n digits in digit set Vector:
UNC Pixel Planes designed by Prof. Henry Fuchs et al.
Linear Interpolation (for curve 01).  This chapter discusses straight lines and flat surfaces that are defined by points.  The application of these.
Komputer Grafik 2 (AK045206) Shading 1/17 Realisme : Shading.
07/12/ Data Representation Two’s Complement & Binary Arithmetic.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
CS 445 / 645 Introduction to Computer Graphics Lecture 15 Shading Shading.
Solving Quadratic Equations Quadratic Equations: Think of other examples?
CDA 3100 Fall2009. Special Thanks Thanks to Dr. Xiuwen Liu for letting me use his class slides and other materials as a base for this course.
Local Illumination and Shading
CO5023 Introduction to Digital Circuits. What do we know so far? How to represent numbers (integers and floating point) in binary How to convert between.
CS 232: Computer Architecture II Prof. Laxmikant (Sanjay) Kale Floating point arithmetic.
Introduction to Meshes Lecture 22 Mon, Oct 20, 2003.
In decimal we are quite familiar with placing a “-” sign in front of a number to denote that it is negative The same is true for binary numbers a computer.
Number Representation (Part 2) Computer Architecture (Fall 2006)
Absolute Value and Translations Section 6-8. Notes The absolute value is the distance a number is away from zero. Because distance can never be negative.
Chapter 8 Computer Arithmetic. 8.1 Unsigned Notation Non-negative notation  It treats every number as either zero or a positive value  Range: 0 to 2.
09/03/20161 Information Representation Two’s Complement & Binary Arithmetic.
2 3D Viewing Process  3D viewing process MC Model Space Model Transformation Model Transformation WC World Space Viewing Transformation Viewing Transformation.
General Fixed Radix Number Systems Nonredundant Positive radix, ß n digits in digit set Vector:
Schedule Update GP 4 – Tesselation/Cg GDS 4 – Subdiv Surf. GP 5 – Object Modeling Lab: Mini-proj Setup GDS 5 – Maya Modeling MCG 6 – Intersections GP 6.
Computer Graphics Lecture 26 Mathematics of Lighting and Shading Part II Taqdees A. Siddiqi
Illumination and Shading. Illumination (Lighting) Model the interaction of light with surface points to determine their final color and brightness OpenGL.
- Introduction - Graphics Pipeline
Negative Binary Numbers
CS 232: Computer Architecture II
Negative Binary Numbers
Graphing Linear Inequalities
Gouraud Shading with Bilinear Interpolation
What is a Line? x-axis y-axis
CSC461: Lecture 23 Shading Computation
3D Rendering Pipeline Hidden Surface Removal 3D Primitives
Linear Systems.
Computer Organization and Design
Arithmetic Logical Unit
How to represent real numbers
Topic 3: Data Hexadecimal.
Lecture 13 Clipping & Scan Conversion
Introduction to Meshes
Shading Polygons Lecture 36 Wed, Nov 28, 2007.
Illumination and Shading
ECE 352 Digital System Fundamentals
Algebra.
Do not use a calculator for the following!!.
Introduction to Meshes
Presentation transcript:

UNC Pixel Planes designed by Prof. Henry Fuchs et al

Pixel Planes Henry Fuchs’ Idea: build processing into the frame buffer, a processor per pixel. –UNC designs are called enhanced memories, not SIMD processors Enabler was linear expression tree…

Representation of a triangle Oriented Triangles, three vertices A, B, C A triangle is defined by Lines AB, BC, and CA For example, let A = (0, 0), B=(10, 0), C = (2, 5) Line AB = (0,0) + (10, 0)*t Let X = 10t, Y = 0, so Line AB => Y =0; Line BC = (10, 0) + (-8, 5)*t = (10-8t, 5t) Let X = 10 -8t, Y = 5t, so, line BC => -5X-8Y + 50=0 Similarly Line CA = (2, 5) + (-2, -5)*t So, Line CA => 5X - 2Y = 0 Distance from point (U,V) to Line CA is ?

Point to line distance (2D) AX + BY +C = line K Point (U, V) What is the distance from (U,V ) to line K? Answer: (AU + BV +C)/M M = sqrt (A*A + B*B)

Distance with a sign: for a point within a triangle, all minus, or all positive signs for its distance, assuming each line with a normal vector.

Shading with fast evaluation of AX + BY + C = 0 Flat shading: constant color, A = B = 0, C = Color Gouraud shading (smooth shading): color interpolation, for example, Triangle with three vertices (x1, y1), (x2, y2), (x3, y3), each with red components R1, R2, R3 color is represented as (Red, Green, Blue) Assuming a plane (in 3D) with vertices (x1, y1, R1), (X2, Y2, R2), and (X3, y3, R3)

Gouraud shading Vector equation of the plane is (x,y) = s (x2-x1, y2 – y1) + t(x3-x1, y3-y1) + (x1, y1) solved for (s, t), then s = A1x + B1y +C1, t = A2x + B2y +C2 So, given point (x,y) in this plane, what is its color? Answer: color = Ax + By +C, where A = A1 (R2-R1)+ A2 (R3-R1) B = B1(R2-R1) + B2 (R3-R1) C = C1(R2-R1) + C2(R3-R1) + R1 So, we then broadcast A, B, C into this Pixel-Planes, and the red components for each pixel is done!

How is the color calculated? Since, (x,y) = s (x2-x1, y2 – y1) + t(x3-x1, y3-y1) + (x1, y1) Therefore, (x,y, R) = s (x2-x1, y2 – y1, R2-R1) + t(x3-x1, y3- y1, R3-R1) + (x1, y1, R1) or, color R = s (R2-R1) + t (R3-R1) + R1

Three vertices: (0,0) (2,4), and (6,2) with red colors 10, 50, 20 Given point (2,2) inside the triangle, the color is 28! (since s = 0.4, t = 0.2) Goven point (x, y), the color is ? Represented as Ax + By +C, what are the values of (A, B, C)? Hint:A = -2, B= 11 and C= 10

Implementation

Shading

Hardware design

Pixel-Planes Communications & Multimedia Lab23

Bit operation Binary representation: for easy hardware architecture/realization Right most significant bit, and shift left at each clock! Eg.: 011 equals 6 in Decimal equals equals equals 30 in Decimal (all zeros at the right ends: redundant, for pipeline operations) Communications & Multimedia Lab24

011 equals 6 in Decimal After left shift one bit, it is 110 (one 0 added to the right), the value is 3! equals 6, left shift one bit, becomes 11000, value is equals 10, left shift one bit, becomes 1010, value is equals 30 in Decimal, left shift one bit, becomes , value is 15.

One bit adder For example: = A 01010= C A+ C = Carry = 0 Value of A is 6, value of B is 10, A + C = 16 Left shift one bit (one time per clock trigger)