Image Synthesis Rabie A. Ramadan, PhD 4. 2 Review Questions Q1: What are the two principal tasks required to create an image of a three-dimensional scene?

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Graphics Pipeline.
2 COEN Computer Graphics I Evening’s Goals n Discuss the fundamentals of lighting in computer graphics n Analyze OpenGL’s lighting model n Show.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
3D Graphics Rendering and Terrain Modeling
Computer Graphics Visible Surface Determination. Goal of Visible Surface Determination To draw only the surfaces (triangles) that are visible, given a.
HCI 530 : Seminar (HCI) Damian Schofield.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Programming with OpenGL Part 2: Complete Programs Ed Angel Professor of Computer Science,
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Rendering Pipeline Aaron Bloomfield CS 445: Introduction to Graphics Fall 2006 (Slide set originally by Greg Humphreys)
Geometric Objects and Transformations Geometric Entities Representation vs. Reference System Geometric ADT (Abstract Data Types)
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Image Synthesis Rabie A. Ramadan, PhD 3. 2 Our Problem.
UniS CS297 Graphics with Java and OpenGL Introduction.
CSE 381 – Advanced Game Programming Basic 3D Graphics
3D Objects Subject:T0934 / Multimedia Programming Foundation Session:12 Tahun:2009 Versi:1/0.
Week 2 - Wednesday CS361.
Image Synthesis Rabie A. Ramadan, PhD 2. 2 Java OpenGL Using JOGL: Using JOGL: Wiki: You can download JOGL from.
Buffers Textures and more Rendering Paul Taylor & Barry La Trobe University 2009.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Graphics Systems and OpenGL. Business of Generating Images Images are made up of pixels.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
OpenGL Conclusions OpenGL Programming and Reference Guides, other sources CSCI 6360/4360.
Ch 2 Graphics Programming page 1 CSC 367 Coordinate Systems (2.1.2) Device coordinates, or screen coordinates (pixels) put limitations on programmers and.
Image Synthesis Rabie A. Ramadan, PhD 1. 2 About my self Rabie A. Ramadan My website and publications
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
OpenGL: Introduction Yanci Zhang Game Programming Practice.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Introduction to OpenGL  OpenGL is a graphics API  Software library  Layer between programmer and graphics hardware (and software)  OpenGL can fit in.
2 COEN Computer Graphics I Evening’s Goals n Discuss viewing and modeling transformations n Describe matrix stacks and their uses n Show basic geometric.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
RENDERING Introduction to Shading models – Flat and Smooth shading – Adding texture to faces – Adding shadows of objects – Building a camera in a program.
Rendering Pipeline Fall, D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination.
What are Computer Graphics Basically anything that is on you Monitor – This includes the text that you will see Text isn’t Advanced Graphics But…. Understanding.
1 Programming with OpenGL Part 2: Complete Programs.
OpenGL API 2D Graphic Primitives Angel Angel: Interactive Computer Graphics5E © Addison-Wesley
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 15 Creating 3D Models.
Chapter 1 Graphics Systems and Models Models and Architectures.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
Geometric Transformations Ceng 477 Introduction to Computer Graphics Computer Engineering METU.
Graphics Graphics Korea University kucg.korea.ac.kr Geometric Primitives 고려대학교 컴퓨터 그래픽스 연구실.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
Computer Graphics I, Fall Programming with OpenGL Part 2: Complete Programs.
Graphics Programming. Graphics Functions We can think of the graphics system as a black box whose inputs are function calls from an application program;
Viewing. Classical Viewing Viewing requires three basic elements - One or more objects - A viewer with a projection surface - Projectors that go from.
3D Ojbects: Transformations and Modeling. Matrix Operations Matrices have dimensions: Vectors can be thought of as matrices: v=[2,3,4,1] is a 1x4 matrix.
Computer Graphics (Fall 2003) COMS 4160, Lecture 5: OpenGL 1 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
Visible Surface Detection
Rendering Pipeline Fall, 2015.
- Introduction - Graphics Pipeline
Rendering Pipeline Aaron Bloomfield CS 445: Introduction to Graphics
Modeling 101 For the moment assume that all geometry consists of points, lines and faces Line: A segment between two endpoints Face: A planar area bounded.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
Models and Architectures
Models and Architectures
03 | Creating, Texturing and Moving Objects
Presentation transcript:

Image Synthesis Rabie A. Ramadan, PhD 4

2 Review Questions Q1: What are the two principal tasks required to create an image of a three-dimensional scene? Modeling Rendering

3 Q2: What is modeling? The description of an object that is going to be used by the graphics system. E.g mathematical model.

4 Q2: Models must be created for every object in a scene (True/False) ? True

5 Q3: OPenGL provides explicit support for creating object models (True/False) false

6 What is OpenGL? A software interface to graphics hardware Graphics rendering API (Low Level) High-quality color images composed of geometric and image primitives Window system independent Operating system independent

7 One of the Modeling task is to provide accurate rendering of a model’s appearance or surface shading (true/false) ? true

8 Why do we need the Tessellation process? To simplify the image synthesis operation.

9 What is the most common Tessellation geometric ? Tringle

10 What a “normal” in image synthesis ? You can find the normal at a particular point on a surface by First Finding the flat plane that just touches the surface at that point. The normal is the vector that’s perpendicular to that plane.

11 Selecting the vectors depends on the type of polygon (true/false) ? true

12 Name the following stripping? Triangle strip winding

13 Name the following stripping? Triangle fan winding

14 The triangle fans are primitive (true/false) False The triangle strip is the more versatile primitive. The triangle fans are ideal for large convex polygons

15 What is the main goal of a triangle stripping? The goal here is to minimize the number of total strips and try to avoid “orphan” triangles (also known as singleton strips)

16 Name the following algorithm ? A better algorithm is to choose a polygon, convert it to triangles, then move to the polygon which has an edge that is shared with the last edge of the previous polygon. A given starting polygon and starting edge determines the strip path. The strip grows until it runs off the edge of the model or reaches a polygon that is already part of another strip Greedy Tri-stripping

17 Complete OpenGL represents vertex coordinates, texture coordinates, normal vectors, and colors generically as ……………….. Tuples can be thought of as ………-component vectors. Tuples 4

18 Describe how the data is represented in OpenGL ? OpenGL represents transforms as 4 × 4 matrices, plane equations as 4-component tuples,

19 The following is the transformation pipeline, describe each block?

20 Suggest another Anatomy of a rendering pipeline? World space Viewing space 3D screen space 2D display space Local space

21 What are the main functions of CPU and GPU? Two players: The CPU, your processor and friend The GPU (Graphical Processing Unit) or equivalent software The CPU passes streams of vertices and of data to the GPU. The GPU processes the vertices according to the state that has been set; here, that state is “every four vertices is one quadrilateral polygon”. The GPU takes in streams of vertices, colors, texture coordinates and other data; constructs polygons and other primitives; then draws the primitives to the screen pixel-by-pixel. This process is called the rendering pipeline.

22 matrix multiplication is associative but not commutative. Explain? Remember: matrix multiplication is associative but not commutative. ABC = A(BC) = (AB)C ≠ ACB ≠ BCA

23 OpenGL uses matrix stacks to store stacks of matrices. Explain? OpenGL uses matrix stacks to store stacks of matrices, where the topmost matrix is (usually) the product of all matrices below. This allows you to build a local frame of reference— local space—and apply transforms within that space.

24 GL has three matrix stacks: which are ……., ……,…… GL has three matrix stacks: Modelview – positioning things relative to other things Projection – camera transforms Texture – texture-mapping transformations

25 Define the function of glPushMatrix() and glPopMatrix() in OpenGL? If you want to make local changes that only have limited effect, you use glPushMatrix() to push a new copy of your current matrix onto the top of the stack; then you modify it freely and, when done, call glPopMatrix().

26 What is the expected output of this code ? glBegin(GL.GL_QUADS); glVertex3f(-1, -1, 0); glVertex3f( 1, -1, 0); glVertex3f( 1, 1, 0); glVertex3f(-1, 1, 0); glEnd();

27 How does OpenGL use these 3D coordinates? When OpenGL wants to draw a triangle, it converts the three vertices into pixel coordinates and draws a "2D" triangle using those coordinates. The user's "eye" is always at the origin and looking in the negative z direction.

28 What is the expected function of this code?

29 The number of samples per unit length in each direction defines the……….. The process of converting a continuous function into a series of discrete values is called ……. Reconstructing an undersampled sine wave results in a different sine wave of a lower frequency. This low- frequency version is called an ……… Sampling sample rate Alias

30 What is your analysis to the following figure ? considering an intensity function that has the similar values at two sample points P1 and P3, but between these points P2 the intensity varies significantly The result is that the reconstructed function doesn’t reproduce the original function very well (Under sampling )