370 likes | 558 Views
CSE 410 Computer Graphics Sessional. INTRODUCTION. What is COMPUTER GRAPHICS?. Painting with numbers!. Aspects. Modeling Rendering Animation. Aspects. Visualization Virtual Reality Image Processing User interaction / Human Computer Interface 3D Scanning. Applicability?.
E N D
CSE 410 Computer Graphics Sessional INTRODUCTION
What is COMPUTER GRAPHICS? Painting with numbers!
Aspects • Modeling • Rendering • Animation
Aspects • Visualization • Virtual Reality • Image Processing • User interaction / Human Computer Interface • 3D Scanning
Extent of CG What are we going to learn?
Extent of CG • How CG systems work. • How to model of real life objects. • How to render modeled objects. • How to make things more realistic. • How to make things more beautiful.
Extent of CSE410 • Understanding of Graphics API : OpenGL • Understand how to use 3D API’s to create games, animations, renders or visualization. • Learn how API’s work from inside.
Representation • Points • Lines • Polygon
Textures , shaders , post processing and other techniques like radiocity and raytracing are used to produce realistic rendering of modeled objects.
Rendering How can we show the objects on the screen from the mathematical data of the models we have?
2D Hypothetical World Lets assume we have the following things true for our fantasy world of rendering. • A canvasInfinitely extended drawing area having two perpendicular axes ( x and y ) • A viewporta finite 2d rectangular are ( lets say it is 8x6 pixels ) that represents what is shown on the screen.
CANVAS VIEWPORT
We can do following drawing on the canvas. • drawPoint • drawRectangle (width , height ) • drawPicture
And the following commands to place our desired drawing on the desired part of the canvas. • Translate ( x , y ) • Rotate ( x ) These commands effects any drawing done after calling them.
Sample drawings and outputs point().
Sample drawings and outputs translate(3,2)drawPoint().
Now lets say we want to draw the following picture. Translate ( -10 , -5) Rotate ( -45 ) drawRectangle ( 10 , 5 )
Now.. how does our graphics card calculate where to draw the pixels when it receives such coordinates for drawing from our program?
Sample again… camera ( 0 , 0 ) translate ( 3,-1) point() Canvas coordinate (3,-1) Screen coordinate (3,1)
Sample again… camera ( -2 , 1 ) translate ( 3,-1) point() Canvas coordinate (3,-1) Screen coordinate ? ( 5 , 2 ) x = 0 + 3 – (-2) = 5y = 0 – (-1) + 1 = 2
Commands Calculation for x axis point() • camera ( -2 , 1 ) 0 + 3 - ( -2) • translate ( 3,-1)
Now we can make an equation !Final coordinate on the screen=Actual coordinate+Transformation-Camera Position } Gives us coordinate on the canvas Modeling Transformation } Gives us coordinate on the screen Viewing Transformation
This process of calculating final output picture from initial coordinates/models in a step by step manner is known as Graphics Pipeline
With understanding of the hypothetical world now lets get real, How does our actual graphics systems work?How 3D objects are rendered on the screen?What more is there in the 3D pipeline?