CSE328:Computer Graphics OpenGL Tutorial Dongli Zhang Department of Computer Science, SBU Department of Computer Science, Stony.

Slides:



Advertisements
Similar presentations
Programming with OpenGL - Getting started - Hanyang University Han Jae-Hyek.
Advertisements

Lecture 2 - Introduction Objective C is used primarily for application development on Apple's Mac OS X and iPhone. On the Apple it is used together with.
Chapter 2: Graphics Programming
CP411 Computer Graphics, Wilfrid Laurier University Introduction # 1 Welcome to CP411 Computer Graphics 2012 Instructor: Dr. Hongbing Fan Introduction.
Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
CS 4731 Lecture 2: Intro to 2D, 3D, OpenGL and GLUT (Part I) Emmanuel Agu.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Programming with OpenGL Part 1: Background Ed Angel Professor of Computer Science, Electrical.
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
CMPE 466 COMPUTER GRAPHICS
Programming with OpenGL Part 1: Background Mohan Sridharan Based on slides created by Edward Angel CS4395: Computer Graphics 1.
LAB #1: Computer Graphics Framework IGX is a set of programs which allow you to write graphics programs in C/C++ from plain text files. Benefits: 1. You.
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
By: Md Rezaul Huda Reza Lecturer:  Md Rezaul Huda Reza Former Lecturer of  Bexley College under University.
CSE 528 Final Project Submission Dongli Zhang. Recent Due 10-Paper Survey due November 26 Send PDF file to BOTH Professor and TA Professor:
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
Using C++ and OpenGL George Georgiev Telerik Corporation
Programming in OpenGL Ryan Holmes CSE 570 February 12 th, 2003.
CAP4730: Computational Structures in Computer Graphics Introduction to OpenGL.
COMP4070 Computer Graphics Dr. Amy Zhang. Welcome! 2  Introductions  Administrative Matters  Course Outline  What is Computer Graphics?
CSC300 Visual Programming Dr. Craig Reinhart. Objectives Teach the basics of C++ –You won’t be an expert but hopefully a very good novice –GUI development.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
Embedded Web Technology Robert Brooks Neal Burry Imelda LeVesconte.
Introduction to OpenGL and GLUT GLUT. What is OpenGL? An application programming interface (API) A (low-level) Graphics rendering API Generate high-quality.
C O M P U T E R G R A P H I C S Jie chen Computer graphic -- OpenGL Howto.
CSC 461: Lecture 41 CSC461: Lecture 4 Introduction to OpenGL Objectives: Development of the OpenGL API OpenGL Architecture -- OpenGL as a state machine.
Graphics Programming using OpenGL. OpenGL is a software interface that allows the programmer to create 2D and 3D graphics images. This interface consists.
Group 4May Final Design Presentation DUNA* (Dynamic Urban Navigation using A*) Name of Team: A*
CS 425 Game Programming I Jan M. Allbeck. Outline  Introductions  Expectations  Tools and setup  Quick introduction to C++ and Visual Studio  What.
Integrated Development Environment (IDE)
Computer Graphics Tz-Huan Huang National Taiwan University.
OpenGl Graphics Programming. Introduction OpenGL is a low-level graphics library specification. It makes available to the programmer a small set of geomteric.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
Programming with OpenGL Part 1: Background
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Programming with OpenGL Part 1: Background Ed Angel Professor of Computer Science, Electrical.
Computer Graphics, KKU. Lecture 101 Introduction to OpenGL.
Visual C++ Programming: Concepts and Projects
CD2012 Principles of Interactive Graphics Lecture 01 Introduction Abir Hussain (Rome: 6.33,Tel , Web:
ROOT Team Meeting October 1 st 2010 GUI thinking and testing ideas OpenGL GUI Root Team meeting 01/10/2010.
Productivity Tools Ken Nguyen Department of Information Technology Clayton State University.
Introduction to OpenGL Programming Jian-Liang Lin 2002.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
고급 컴퓨터 그래픽스 중앙대학교 컴퓨터공학부 손 봉 수. Course Overview Level : CSE graduate course No required text. We will use lecture notes and on-line materials This course.
A-Level Computing#BristolMet Session Objectives#15 MUST define the term user interface SHOULD describe the characteristics of different UIs and suggest.
Introduction to OpenGL  OpenGL is a graphics API  Software library  Layer between programmer and graphics hardware (and software)  OpenGL can fit in.
Getting started with Programming using IDE. JAVA JAVA IS A PROGRAMMING LANGUAGE AND A PLATFORM. IT CAN BE USED TO DELIVER AND RUN HIGHLY INTERACTIVE DYNAMIC.
Introduction to OpenGL and GLUT. What’s OpenGL? An Application Programming Interface (API) A low-level graphics programming API – Contains over 250 functions.
OpenGL nicole hart csis 4490 khoganson. What is OpenGL? -OpenGL is a hardware independent 2D and 3D rendering and 3D hardware acceleration standard. -OpenGL.
Computer Science Faculty School of Software Engineering C INTERPRETER AND DEBUGGER (ISO/IEC 9899:2011) Developer: student of 203SE group: Lukyanov Dmitry.
CS 470 Computer Graphic Getting Started with OpenGL.
CGGM Lab. Tan-Chi Ho Introduction to OpenGL.
Computer Graphics Lab 1 OpenGL.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
COMPUTER III. Fundamental Concepts of Programming Control Structures Sequence Selection Iteration Flowchart Construction Introduction to Visual Basic.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
Computer Graphics (Fall 2003) COMS 4160, Lecture 5: OpenGL 1 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
Khang Lam Daniel Limas Kevin Castillo Juan Battini
Programming with OpenGL Part 1: Background
Computer Software: Programming
Chapter 3.
Introduction to .NET Framework Ch2 – Deitel’s Book
School of Computer Science
Computer Science I CSC 135.
Outline Announcements Dynamic Libraries HWII on web, due Friday
Programming with OpenGL Part 1: Background
Introduction to Computer Software
Programming with OpenGL Part 1: Background
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Basic Concepts of The User Interface
Introduction to OpenGL
Presentation transcript:

CSE328:Computer Graphics OpenGL Tutorial Dongli Zhang Department of Computer Science, SBU Department of Computer Science, Stony Brook University (SUNYSB)

TA Information Department of Computer Science, Stony Brook University (SUNYSB) TA Schedule: Time: Tuesday: 4:30~6:00pm; Location: Computer Science Building, 2110;

Introduction to OpenGL CSE328 What is OpenGL? Industrial standard library for doing computer graphics. Developed by Silicon Graphics Inc.(SGI) in Latest version: 4.3 (released at Aug 6, 2012). Features: Keep developing. More functions,GLSL,64-bit support. OpenGL is a Graphic rendering API (software interface to graphics hardware) consists of lots of commands. for example: GL_BEGIN(GLint TYPE) Operating system independent. References:

Introduction to OpenGL CSE328 If you want to be a Software Engineer in Computer graphics area, OpenGL is a MUST! Giant Companies: NVidia, ATI(AMD),Google, Adobe, Pixar, Blizzard, Siemens Medical…

Introduction to OpenGL CSE328 Other 3D Graphics APIs: Direct3D --- a competitor to OpenGL. Mesa 3D --- an open source implementation of OpenGL. Open Inventor --- C++ object oriented 3D graphics API in higher layer of programming. RISpec --- Pixar’s open API for photorealistic off-line rendering. Other 2D graphics APIs: GTK+. Java 2D, QT

OpenGL programming guide CSE328 Things you should know before coding: 1.OpenGL was designed be graphic output-only. Provide rendering functions only. Core API has no concept of windowing systems, audio, printing to screening, keyboard/mouse or other input devices. 2.OpenGL need add-on APIs to interact with the host system. GLX --- X11 WGL --- Microsoft Windows CGL --- Mac OS X 3.For convenient, people developed libraries to provide functionality for basic windowing using OpenGL, such as GLUT. OpenGL need a GUI in window system.

OpenGL programming guide Tools for programming: –C/C++ compiler and debugger: MS, gcc. –IDE: MS Visual studio, Dev-C++, Eclipse+cdt, Xcode, … –GUI: GLUT + GLUI, QT, MFC… Recommendation: VS GLUT + GLUI(QT) Reasons: free, easy for debug.

OpenGL language A state machine 1.You put OpenGL into various states that then remain in effect until you change them 2.State is encapsulated in contexts. Each OpenGL window has its own, separate, state. 3.Think of each context as a C/C++ struct with fields for each OpenGL state variable. Generally, there are two operations that you do with OpenGL: 1.Draw something 2.Change the state of how OpenGL draws OpenGL has two types of things that it can render: 1.Geometric primitives: points, lines and polygons 2.Image Primitives: bitmaps and graphics image Additionally, OpenGL links images and geometric primitives together using Texture Mapping.

OpenGL language

OpenGL geometric primitives

Rendering

Controlling current state

GLUT

What can GLUT do?

GLUT programming

Initialization

Open a window

Handle Events

Handle Event

Handle events

GLUT

Enter event processing loop

GLUT summary

GLUT Menu

Put together

GLUI

Examples

Helpful sources