CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS SPRING 2016 DR. MICHAEL J. REALE

Similar documents
CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012

CSC Graphics Programming. Budditha Hettige Department of Statistics and Computer Science

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

API Background. Prof. George Wolberg Dept. of Computer Science City College of New York

Grafica Computazionale: Lezione 30. Grafica Computazionale. Hiding complexity... ;) Introduction to OpenGL. lezione30 Introduction to OpenGL

Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics

Programming with OpenGL Part 1: Background

Introduction to 2D Graphics

Shaders CSCI 4239/5239 Advanced Computer Graphics Spring 2014

Early History of APIs. PHIGS and X. SGI and GL. Programming with OpenGL Part 1: Background. Objectives

LECTURE 02 OPENGL API

CS 428: Fall Introduction to. OpenGL primer. Andrew Nealen, Rutgers, /13/2010 1

Today s Agenda. Basic design of a graphics system. Introduction to OpenGL

Some Resources. What won t I learn? What will I learn? Topics

An Overview GLUT GLSL GLEW

Shaders CSCI 4229/5229 Computer Graphics Fall 2017

Information Coding / Computer Graphics, ISY, LiTH. OpenGL! ! where it fits!! what it contains!! how you work with it 11(40)

Computer Graphics. Chapter 3 Computer Graphics Software

CS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST

OpenGL Essentials Training

Basic Graphics Programming

CS 380 Introduction to Computer Graphics. LAB (1) : OpenGL Tutorial Reference : Foundations of 3D Computer Graphics, Steven J.

Graphics Programming. Computer Graphics, VT 2016 Lecture 2, Chapter 2. Fredrik Nysjö Centre for Image analysis Uppsala University

Lecture 13: OpenGL Shading Language (GLSL)

The Application Stage. The Game Loop, Resource Management and Renderer Design

CS4621/5621 Fall Computer Graphics Practicum Intro to OpenGL/GLSL

3D Graphics and OpenGl. First Steps

Exercise 1 Introduction to OpenGL

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

Introduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics

11/1/13. Basic Graphics Programming. Teaching Assistant. What is OpenGL. Course Producer. Where is OpenGL used. Graphics library (API)

Computer Graphics, Chapt 08

Introduction. What s New in This Edition

CS451Real-time Rendering Pipeline

Spring 2009 Prof. Hyesoon Kim

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

Computer Graphics CS 543 Lecture 1 (Part I) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

CGT521 Introduction to

CIS 441/541: Introduction to Computer Graphics Lecture 14: OpenGL Basics

Computer Graphics - Chapter 1 Graphics Systems and Models

CIS 581 Interactive Computer Graphics

Opengl Programming On Mac Os X Architecture Performance

Shaders. Slide credit to Prof. Zwicker

MMGD0206 Computer Graphics. Chapter 1 Development of Computer Graphics : History

Cg Toolkit. Cg 1.3 Release Notes. December 2004

OpenGL. Toolkits.

Graphics Processing Unit With Graphics API. Darshana Mistry. Computer Engineering Department, Gandhinagar Institute Of Technology Gandhinagar, India

1.2 Basic Graphics Programming

OPEN GL BACKGROUND. Objectives. Early History of APIs. SGI and GL. PHIGS and X. Modified from Angel 6e book slides

Developer Tools. Robert Strzodka. caesar research center Bonn, Germany

To Do. Computer Graphics (Fall 2008) Course Outline. Course Outline. Methodology for Lecture. Demo: Surreal (HW 3)

Lecture 2 CISC440/640 Spring Department of Computer and Information Science

Rendering Objects. Need to transform all geometry then

VR-programming tools (procedural) More VRML later in this course! (declarative)

Computer Graphics Lecture 2

COMP3421 Computer Graphics

COMPUTER GRAPHICS. Computer Multimedia Systems Department Prepared By Dr Jamal Zraqou

Spring 2011 Prof. Hyesoon Kim

CIS 581 Interactive Computer Graphics (slides based on Dr. Han-Wei Shen s slides) Requirements. Reference Books. Textbook

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

Lecturer Athanasios Nikolaidis

Introduction to Computer Graphics

ERKELEY DAVIS IRVINE LOS ANGELES RIVERSIDE SAN DIEGO SAN FRANCISCO EECS 104. Fundamentals of Computer Graphics. OpenGL

Computer Graphics (CS 4731) OpenGL/GLUT(Part 1)

Programming with OpenGL Part 3: Shaders. Ed Angel Professor of Emeritus of Computer Science University of New Mexico

Introduction to OpenGL

CS 543 Lecture 1 (Part II): Intro to OpenGL and GLUT (Part I) Emmanuel Agu

CSC 8470 Computer Graphics. What is Computer Graphics?

Introduction to Computer Graphics. Overview. What is Computer Graphics?

Computer Graphics. Bing-Yu Chen National Taiwan University

Immersive Out-of-Core Visualization of Large-Size and Long-Timescale Molecular Dynamics Trajectories

Lecture 2. Shaders, GLSL and GPGPU

CHAPTER 1 Graphics Systems and Models 3

Computer Graphics. CS52 Fall computer graphics introduction 2006 fabio pellacini 1

Computer Graphics. CS52 Winter computer graphics introduction 2008 fabio pellacini 1. introduction

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

Mention driver developers in the room. Because of time this will be fairly high level, feel free to come talk to us afterwards

last time put back pipeline figure today will be very codey OpenGL API library of routines to control graphics calls to compile and load shaders

CS427 Multicore Architecture and Parallel Computing

3D Computer Games Technology and History. Markus Hadwiger VRVis Research Center

CS 543: Computer Graphics. Introduction

CS4202: Test. 1. Write the letter corresponding to the library name next to the statement or statements that describe library.

CS452/552; EE465/505. Finale!

Computer Graphics: Programming, Problem Solving, and Visual Communication

GLUT. What is OpenGL? Introduction to OpenGL and GLUT

Rendering Grass with Instancing in DirectX* 10

Programmable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes

CS770/870 Spring 2017 Open GL Shader Language GLSL

CS770/870 Spring 2017 Open GL Shader Language GLSL

Introduction to OpenGL Week 1

Objectives. Image Formation Revisited. Physical Approaches. The Programmer s Interface. Practical Approach. Introduction to OpenGL Week 1

3D Production Pipeline

OpenGL refresher. Advanced Computer Graphics 2012

By: Tyler Spears Mentor: Dr. Bijaya Karki. Visualizing Time- Dependent Atomic Data in OpenGL

CS 179: GPU Programming

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13

CENG 477 Introduction to Computer Graphics. Graphics Hardware and OpenGL

Visualizing Molecular Dynamics

The Importance of Matrices in the DirectX API. by adding support in the programming language for frequently used calculations.

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

Transcription:

CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS SPRING 2016 DR. MICHAEL J. REALE

COMPUTER GRAPHICS DEFINITION AND AREAS Computer graphics creating and manipulating images using computers Data used/manipulated can be: 2D or 3D Synthetic or real-world 3 Main Areas: Modeling = Creating/specifying/storing shape and appearance properties of object to be rendered Rendering = Creation of shaded images from 3D computer models Animation = Techniques used to create the illusion of motion changes of model over time

COMPUTER GRAPHICS APPLICATIONS Examples of Computer Graphics Applications: Graphics, Charts, and Data Visualization Challenges: large data sets, best way to display/represent data CAD/CADD/CAM Challenges: need pixel-perfect rendering Computer Art / Movies Virtual-Reality Environments / Training Simulations Games

CHARACTERISTICS OF COMPUTER GRAPHICS Real-time vs. Non-real-time Real-time 15 fps = BARE MINIMUM but still skips 24 fps = minimum without skips 30 60 fps = more common requirement Non-real-time Emphasis on rendering quality over rendering speed Virtual Entities / Environments vs. Visualization / Representation Rendering actual person/place/thing Visualizing data (may not correspond to physical visual reality) Combination e.g., CAD rendering of real object with highlighted parts Developing Tools / Algorithms vs. Content Creation Tools/code to perform rendering tasks Creating content to be rendered

APIS AND CG APIS Application Programming Interface (API) Standard collection of functions to perform a set of related operations Computer Graphics API Performs set of functions related to drawing/rendering images and objects to windows on screen Two paradigms for CG APIs: CG API only does drawing only acts as interface between programming language and graphics hardware Examples: GL, OpenGL, DirectX Graphics functionality and user-interface functionality intergrated: Example: Java 2D and Java 3D

GL AND OPENGL GL (Graphics Library) Developed by Silicon Graphics, Inc. (SGI) for their graphics workstations Became de facto graphics standard Fast, real-time rendering Proprietary system OpenGL Developed as hardware-independent version of GL in 1990 s Specification Was maintained/updated by OpenGL Architecture Review Board; now maintained by the non-profit Khronos Group Designed for efficient 3D rendering, but also handles 2D (just set z = 0) Generally stable new features added as extensions SGI O2 workstation: http://www.engadget.com/products/sgi/o2/

OPENGL AND GLU OpenGL Core Hardware and platform independent Specification each platform must implement Does NOT provide: Input/output functionality (e.g., mouse and keyboard) Display windows (depends on operating system / windowing system) Functions prefixed with gl OpenGL Utility (GLU) Included with every implementation of OpenGL Provides routines for setting up matrices (among other things) Uses DEPREPRECATED (pre-version 3.0) OpenGL calls should NOT be used! Functions prefixed with glu

WINDOW CREATION OS-specific libraries GLX (OpenGL Extension to the X Windows System) AGL (Apple GL) WGL (Windows-to-OpenGL) OS-independent libraries OpenGL Utility Toolkit (GLUT) OS-independent Allows window creation and input device access Original version getting old Open source version (still maintained) freeglut Functions prefixed with glut GLFW and others

OPENGL VERSIONS OpenGL 1.X Uses fixed-function pipeline only data handed to GPU a piece at a time ( streaming it in ) Still used in the CAM/CAD programs OpenGL 2.X Introduced GLSL (OpenGL Shader Language) Still used OpenGL 1.X code/functions OpenGL 3.X The fixed function pipeline deprecated (and REMOVED after 3.1 and 3.2) Called legacy OpenGL or OpenGL compatibility context OpenGL core context: Rendering controlled mostly with shader programs Data to render is copied to buffers on GPU Matrices handled by programmer OpenGL 4.5 most recent version