Download presentation
1
Fundamentals of Computer Graphics Part 1
prof.ing.Václav Skala, CSc. University of West Bohemia Plzeň, Czech Republic ©2002 Prepared with Angel,E.: Interactive Computer Graphics – A Top Down Approach with OpenGL, Addison Wesley, 2001
2
Fundamentals of Computer Graphics
Graphics Systems Five major elements - processor, memory, frame buffer, output devices, input devices Fundamentals of Computer Graphics
3
Pixels and Frame Buffer
Most graphics systems are pixel based – need of rasterization or scan conversion; pixel = picture element 8 bits deep frame – 256 colors; 24 or 32 bits for RGB colors picture detail Fundamentals of Computer Graphics
4
Fundamentals of Computer Graphics
Output Devices The cathode-ray tube CRT Fundamentals of Computer Graphics
5
Fundamentals of Computer Graphics
Output Devices RGB – shadow mask Fundamentals of Computer Graphics
6
Fundamentals of Computer Graphics
Output Devices Refresh rate: 50 – 85 Hz, for stereovision 120Hz (2 x60 Hz) Mode: interlaced versus non-interlaced Masks: DELTA versus INLINE LCD Displays – raster based Raster devices sequential access - plotters etc. direct access – displays etc. mixed – inkjet printers – printed sequentially, accessed directly Fundamentals of Computer Graphics
7
Fundamentals of Computer Graphics
Images – Physical versus Synthetic Computer graphics generates pictures with the aim of: to create realistic images to create images very close to “traditional” imaging methods Fundamentals of Computer Graphics
8
Fundamentals of Computer Graphics
Objects and Viewers Two basic entities (one object seen from two different positions) : object(s) – exists in space independent of any image-formation process or viewer viewer(s) Fundamentals of Computer Graphics
9
Objects, Viewers & Camera
Camera system object and viewer exist in E3 image is formed in the Human Visual system (HSV) – on the retina In the film plane if a camera is used Object(s) & Viewer(s) in E3 Pictures in E2 Transformation from E3 to E2 projection Fundamentals of Computer Graphics
10
Fundamentals of Computer Graphics
Lights & Images Others attributes: light sources position monochromatic / color if not used scene would be very dark and flat shadows and reflections - very important for realistic perception geometric optics used for light modeling Fundamentals of Computer Graphics
11
Fundamentals of Computer Graphics
Colours Light is a form of electromagnetic radiation Visible spectrum 350 – 780 nm Fundamentals of Computer Graphics
12
Fundamentals of Computer Graphics
Ray Tracing Ray tracing building an imaging model by following light from a source a ray is a semi-infinite line that emanates from a point and “travels” to infinity in a particular direction portion of these infinite rays contributes to the image on the film plane of the camera surfaces: diffusing reflecting refracting Fundamentals of Computer Graphics
13
Fundamentals of Computer Graphics
Ray Tracing A different approach must be used: for each pixel intensity must be computed all contributions must be taken into account a ray is “followed” in the opposite direction, when intersect a surface it is split into two rays contribution from light sources and reflection from other resources are counted Fundamentals of Computer Graphics
14
Human Visual System - HVS
rods and cones (tyčinky a čípky) excited by electromagnetic energy in the range nm sizes of rods and cones determines the resolution of HVS – our visual acuity the sensors in the human eye do not react uniformly to the light energy at different wavelengths Fundamentals of Computer Graphics
15
Human Visual System - HVS
Courtesy of Fundamentals of Computer Graphics
16
Fundamentals of Computer Graphics
Human Visual System different HVS response for single frequency light – red/green/blue relative brightness response at different frequencies this curve is known as Commision Internationale de L’Eclairage (CIE) standard observer curve the curve matches the sensitivity of the monochromatic sensors used in black&white films and video camera most sensitive to GREEN colors Fundamentals of Computer Graphics
17
Fundamentals of Computer Graphics
Human Visual System three different cones in HVS blue, green & yellow – often reported as red for compatibility with camera & film Fundamentals of Computer Graphics
18
Fundamentals of Computer Graphics
Pinhole Camera Box with a small hole film plane z = - d !!!yp,-d Fundamentals of Computer Graphics
19
Fundamentals of Computer Graphics
Pinhole Camera point (xp,yp,-d) – projection of the point (x,y,z) angle of view or field of the camera – angle ideal camera – infinite depth of field Fundamentals of Computer Graphics
20
Synthetic Camera Model
computer-generated image based on an optical system – Synthetic Camera Model viewer behind the camera can move the back of the camera – change of the distance d i.e. additional flexibility objects and viewer specifications are independent – different functions within a graphics library Imaging system Fundamentals of Computer Graphics
21
Synthetic Camera Model
a – situation with a camera b – mathematical model – image plane moved in front of the camera center of projection – center of the lens projection plane – film plane (průmětna) Fundamentals of Computer Graphics
22
Synthetic Camera Model
Imaging with the Synthetic Camera Model film plane position in a camera projected scene to the projection plane Fundamentals of Computer Graphics
23
Synthetic Camera Model
Not all objects can be seen limit due to viewing angle Solution: Clipping rectangle or clipping window placed inn front of the camera ad b shows the case when the clipping rectangle is shifted aside – only part of the the scene is projected Fundamentals of Computer Graphics
24
Programmer’s Interface
Numerous ways for user interaction with a graphics system using input devices - pads, mouse, keyboards etc. different orientation of coordinate systems canvas versus OpenGL etc. Fundamentals of Computer Graphics
25
Application Programmer’s Interface
API functionality should match the conceptual model Synthetic Camera Model used for APIs like OpenGL, PHIGS, Direct 3D, Java3D, VRML etc. Functionality needed in the API to specify: Objects Viewers Light sources Material properties Fundamentals of Computer Graphics
26
Application Programmer’s Interface
Objects are defined by points or vertices, line segments, polygons etc. to represent complex objects API primitives are displayed rapidly on the hardware usual API primitives: points line segments polygons text Fundamentals of Computer Graphics
27
Application Programmer’s Interface
OpenGL defines primitives through list of vertices – triangular polygon is drawn by: glBegin(GL_POLYGON); glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.0, 1.0, 0.0); glVertex3f(0.0, 0.0, 1.0); glEnd( ); attribute GL_POLYGON actually defines the primitive to be drawn – others GL_LINE_STRIP - draws a strip – n+1 points define n triangles GL_POINTS – draws only points Fundamentals of Computer Graphics
28
Application Programmer’s Interface
Some APIs : work with frame buffer – read/write pixel level provides curves & surfaces / approximated by a series of simpler primitives OpenGL provides frame buffer, curves and surfaces Fundamentals of Computer Graphics
29
Application Programmer’s Interface
Camera specification in APIs: position – usually center of lens orientation – camera coordinate system in center of lens camera can rotate around those three axis focal length of lens determines the size of the image on the film actually viewing angle film plane - camera has a height and a width Fundamentals of Computer Graphics
30
Application Programmer’s Interface
Two coordinate systems are used: world coordinates, where the object is defined camera coordinates, where the image is to be produced Transformation for conversion between coordinate systems or gluLookAt(cam_x, cam_y,cam_z, look_at_x, look_at_y, look_at_z,…) glPerspective( field_of_view) Lights – location, strength, color, directionality Material – properties are attributes of objects Observed visual properties of objects are given by material and light properties Fundamentals of Computer Graphics
31
Modeling - Rendering Paradigm
In many applications the modeling is separated from production of an image – rendering (CAD systems, animations etc.) In this case the modeling SW/HW might be different from the renderer the connection between both parts can be simple or highly complex using distributed environments Fundamentals of Computer Graphics
32
Graphics Architectures
Early graphics systems – CRT had just basic capability to generate line segments connecting two points vector based with refreshing – length of line segments limited light pen often used for manipulation systems with memory CRT – the whole picture redrawn if changed Fundamentals of Computer Graphics
33
Graphics Architectures
Display processors standard architecture with capabilities to display primitives composition made at the host memory – display list – contains primitives to be displayed. Fundamentals of Computer Graphics
34
Pipeline Architectures
VLSI circuits enabled major advances in graphics architectures simple arithmetic pipeline a + b * c when addition of (b * c) and a is performing new b * c is computed in parallel – pipelining enabled significant speed up similar approach can be used for processing of geometric primitives as well Fundamentals of Computer Graphics
35
Pipeline Architectures
There are 4 major steps in the geometric pipeline: transformations – like scaling, rotations, translation, mirroring, sheering etc. clipping – removal of those parts that are out of the viewing field projection rasterization homogeneous coordinates and matrix operations geometric transformations are used Fundamentals of Computer Graphics
36
Clipping, Projection & Rasterization
Clipping is used to remove those parts of the world that cannot be seen. Objects representation is “kept” in 3D as long as possible. After transformation and clipping must be projected to 2D somehow projected objects or their parts must be displayed – and therefore rasterized. All those steps are performed on your graphics cards in haerware nowadays. Fundamentals of Computer Graphics
37
Fundamentals of Computer Graphics
Conclusion Consider a standard camera with 36x24 mm film and having a zoom 26 – 140mm. How the viewing angle or viewing field is defined. what is the difference in viewing between cases a) and b)? answer question from Chapter 1 Fundamentals of Computer Graphics
38
Fundamentals of Computer Graphics
Exercise No.1 The aim of the first experiment is: to read data of a complex geometric model defined by the TRI format (routine for reading will be given) to store it in the data structure to display the model as a set of triangles as wire-model (without shading, visibility) to explore other possibilities of drawing visible parts only by with constant shading by setting some attributes to explore a possibility to create your own data model Fundamentals of Computer Graphics
39
Exercise No.1 – TRI format
# (data originally from powerflip, not avalon) # Object name : --- The canonical cow --- # Number of triangles : 5804 # Number of vertices : 2905 [Vertices] x,y,z coordinates of the j-th vertex Fundamentals of Computer Graphics
40
Exercise No.1 – TRI format
[Triangles] vertex indices forming the i-th triangle 2 4 5 5 4 6 ……….. [Triangles' Normals] i-th normal vector for the i-th triangle ………………………………………….. Fundamentals of Computer Graphics
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.