Object Oriented Design. Goals  Using OpenGL as case study turning a blob anti pattern into an Object-Oriented Architecture  A Quick Introduction to.

Slides:



Advertisements
Similar presentations
Lecture 1 – Introduction, Overview
Advertisements

Faculty of Sciences and Social Sciences HOPE Structured Problem Solving Object Oriented Concepts 2 Stewart Blakeway FML 213
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
CS5500 Computer Graphics © Chun-Fa Chang, Spring 2007 CS5500 Computer Graphics February 26, 2007.
Chapter 6 Graphical User Interface (GUI) and Object-Oriented Design (OOD)
Object Oriented Design Alexander Repenning. Repenning’s Background  Programming: 25 years  Built computer hardware & software u End-user programming.
Object Oriented Design. Goals  Bottom Up Design: refactoring fundamental OpenGL functionality  Game Engine 1.0 introduction.
Point Rendering for Impostors Andreas Bærentzen IMM.
1 Lecture 6 Attributes of graphical primitives Colors Colors in OpenGL Algorithms for scan-conversion.
Introduction General Data Structures - Arrays, Linked Lists - Stacks & Queues - Hash Tables & Binary Search Trees - Graphs Spatial Data Structures -Why.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction to Computer Graphics Ed Angel Professor of Computer Science, Electrical and.
Object Oriented Design. Goals  Critiquing of designs  Presentations of designs and critiques.
Object Oriented Design. Goals  Feedback homework 8  Top Down Design: analyzing the requirements  Bottom Up Design: refactoring fundamental OpenGL functionality.
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
Introduction to OpenGL. What is OpenGL OpenGL is a low-level software interface to graphics hardware No commands for performing windowing tasks or obtaining.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
Exam.1 Si23_03 SI23 Introduction to Computer Graphics Revision Lecture.
Object Oriented Design. Goals  Examples of GL4Java: what can be done with OpenGL?  Forming groups: u Outline project u Formulate requirement for Game.
Object Oriented Design. Goals  Feedback on The Sims  How to make an object  Working on Final Project.
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
Under the Hood: 3D Pipeline. Motherboard & Chipset PCI Express x16.
Lecture 7: Objects and Interaction 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271 
Background image by chromosphere.deviantart.com Fella in following slides by devart.deviantart.com DM2336 Programming hardware shaders Dioselin Gonzalez.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
COMP SCI 352 Computer Graphics and Animation. Computer Graphics2 My name is … My name is … How to find me How to find me Course Policies Course Policies.
Under the Hood: 3D Pipeline. Motherboard & Chipset PCI Express x16.
Basic OpenGL Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Wednesday, September 10, 2003.
3D Visualisation of Simulation Data. Informal Seminar 08/03/2004. By Chris Sweet.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
Introduction to Computers and Programming – Computer Programming.
C O M P U T E R G R A P H I C S Jie chen Computer graphic -- OpenGL Howto.
Introduction to Computer
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Buffers Textures and more Rendering Paul Taylor & Barry La Trobe University 2009.
Chapter 1 Object-Oriented Analysis and Design. Disclaimer Slides come from a variety of sources: –Craig Larman-developed slides; author of this classic.
1 Chapter 1 Overview of Computer Graphics  To understand the basic objectives and scope of computer graphics  To identify computer graphics applications.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
Course Introduction and Terminology CGDD 4113 – 3D MODELING AND ANIMATION.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 가상현실특론 CSE 그래픽스 연구실 김 창 헌
1 Graphics CSCI 343, Fall 2015 Lecture 1 Introduction to Graphics Read: Chapter 1 of textbook.
Advanced Computer Graphics September 15, Grading Programming homework Paper study and presentation Final project No written exams.
Introduction to Computer Graphics Dr.Giorgos A. Demetriou Dr. Stephania Loizidou Himona Computer Science Department Frederick University.
Computer Graphics Using Direct 3D Introduction. 2 What are we doing here? Simply, learning how to make the computer draw.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
Computer Graphics I, Fall 2008 Introduction to Computer Graphics.
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 CS4610/7610: Introduction to Computer Graphics.
ROOT Team Meeting October 1 st 2010 GUI thinking and testing ideas OpenGL GUI Root Team meeting 01/10/2010.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Computer Graphics Blending CO2409 Computer Graphics Week 14.
Lecture 6 Rasterisation, Antialiasing, Texture Mapping,
A SEMINAR ON 1 CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s.
Maths & Technologies for Games Graphics Optimisation - Batching CO3303 Week 5.
Getting to Know Your Desktop Icons, Taskbar, Workspace, Window, Notifications, Start and Search.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Computer Graphics (Fall 2003) COMS 4160, Lecture 5: OpenGL 1 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
ATI Semiconductor technology corporation based in Markham, Ontario, Canada, that specialized in the development of graphics processing units and chipsets.
Week 2 - Monday CS361.
Week 2 - Friday CS361.
Week 2 - Friday CS 113.
CS4610/7610: Introduction to Computer Graphics
Introduction to Computer Graphics
School of Computer Science
Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
The Graphics Pipeline Lecture 5 Mon, Sep 3, 2007.
Introduction to Computer Graphics
Introduction to Computer Graphics
RADEON™ 9700 Architecture and 3D Performance
Introduction to OpenGL
Presentation transcript:

Object Oriented Design

Goals  Using OpenGL as case study turning a blob anti pattern into an Object-Oriented Architecture  A Quick Introduction to OpenGL  Provide pointers to resources

Why OpenGL?  Serves as great design case to explore a variety of OOD issues.  Extremely useful to build 2D/3D games  Provides access to sophisticated graphics supported by hardware acceleration u E.g., ATI Radeon, GeForce u Results in complex but efficient rendering u Already these cards can draw a multi thousands 3D polygon object with light sources, etc. faster than a 32 x 32 pixel desktop icon.

OpenGL Architecture

Anti Patterns: OpenGL the Mega Blob  “a class with 60 or more attributes and operations usually indicates the presence of the Blob” u OpenGL >=  What can we do make this enormous functionality more accessible through OOD?

Let’s make a Game Engine  Refactoring u Bottom up: to make OpenGL functionality available u Top down: to capture needs by a variety of games  We use some ideas from our 2D editor design Hardware OpenGL Game Engine Chris Schenk & Luke Swanson Game 1Game 2 Game n

Examples  Create a subclass of the OpenGLWindow class and extend the display, reshape, idle and init methods. u OpenGL for MCL  Triangles, cubes, sprites, textures u OpenGL for Java

Trade offs  This is not an OpenGL course u Keep OpenGL specific lectures to a minimum u Read the books for more depth  Game Engine will have to be very simple stressing simplicity over depth and performance

OpenGL Resources  The OpenGL Red Book u The must have Programming Guide u  The OpenGL Blue Book u The Reference Manual u GL-Man-Pages/opengl_index_spec.html GL-Man-Pages/opengl_index_spec.html  Real-Time Rendering u A truly wonderful book covering a lot of ground on how to make efficient 3D u 

Homework  Download and install GL4Java u u After installation run the demos u Due: October 31  Read OpenGL Red book chapter 1 and 2 u u Due: November 5