Further Programming for 3D applications CE00849-2 Introduction to Further Programming for 3D application Bob Hobbs Faculty of Computing, Engineering and.

Slides:



Advertisements
Similar presentations
Lecture 0: Course Overview
Advertisements

COMPUTER GRAPHICS SOFTWARE.
CS 4731: Computer Graphics Lecture 20: Raster Graphics Part 1 Emmanuel Agu.
Computer Graphics CSCE 441
Graphics Pipeline.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
CP411 Computer Graphics, Wilfrid Laurier University Introduction # 1 Welcome to CP411 Computer Graphics 2012 Instructor: Dr. Hongbing Fan Introduction.
3D Graphics Rendering and Terrain Modeling
David Luebke5/16/2015 Administrivia l Back on track: canceling OpenGL lecture 2 l Assignment 1 –Greg Yukl found an alternate XForms site:
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
Level 2 Mobile and Games Programming Modules Cathy French K233.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction to Computer Graphics Ed Angel Professor of Computer Science, Electrical and.
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
Sep 30, I3I3DG&VR CE00539-m Interactive 3D Graphics and Virtual Reality Bob Hobbs Faculty of Computing, Engineering and Technology Staffordshire.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 What is Computer Graphics? Ed Angel Professor of Computer Science, Electrical and Computer.
Introduction to OpenGL. What is OpenGL OpenGL is a low-level software interface to graphics hardware No commands for performing windowing tasks or obtaining.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
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.
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
Computer Graphics An Introduction. Computer Graphics 26/9/2008Lecture 12 What’s this course all about? We will cover… Graphics programming and algorithms.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
3D Visualisation of Simulation Data. Informal Seminar 08/03/2004. By Chris Sweet.
Linear Interpolation, Brief Introduction to OpenGL Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, September.
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
Image Synthesis Rabie A. Ramadan, PhD 2. 2 Java OpenGL Using JOGL: Using JOGL: Wiki: You can download JOGL from.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Angel and Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Introduction to Computer Graphics Ed Angel Professor Emeritus of Computer.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 CS4610/7610: Introduction to Computer Graphics.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Lecture 6: 3D graphics Concepts 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271 
1 Computer Graphics Week2 –Creating a Picture. Steps for creating a picture Creating a model Perform necessary transformation Lighting and rendering the.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
The Rendering Pipeline CS 445/645 Introduction to Computer Graphics David Luebke, Spring 2003.
Programming 3D Applications CE Displaying Computer Graphics Week 3 Lecture 5 Bob Hobbs Faculty of Computing, Engineering and Technology Staffordshire.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Intro to OpenGL Transformations CS 445/645 Introduction to Computer Graphics David Luebke, Spring 2003.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 What is Computer Graphics?
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?
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Programming With OpenGL
NoufNaief.net TA: Nouf Al-harbi.
1 Angel: Interactive Computer Graphics5E © Addison- Wesley 2009 Image Formation Fundamental imaging notions Fundamental imaging notions Physical basis.
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.
Lecture 7 Midterm Review. OpenGL Libraries gl: Basic OpenGL library, e.g. primitives. glu: OpenGL Utility library, a set of functions to create texture.
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.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Computer Graphics (Fall 2003) COMS 4160, Lecture 5: OpenGL 1 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
Administrivia Back on track: canceling OpenGL lecture 2 Assignment 1
CS451Real-time Rendering Pipeline
Interactive Computer Graphics
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Models and Architectures
Models and Architectures
Introduction to spagetti and meatballs
Presentation transcript:

Further Programming for 3D applications CE Introduction to Further Programming for 3D application Bob Hobbs Faculty of Computing, Engineering and Technology Staffordshire University

Outline Module Details Module Details What is 3D programming? What is 3D programming? Typical Processing Steps Typical Processing Steps Modelling and Rendering Modelling and Rendering Applications Applications Summary Summary

Module Details Teaching Team Teaching Team –Bob –Dr. Len Noriega Semester 115 cats Semester 115 cats 3 Hours per week 3 Hours per week –1 Hour Lecture Tue 12pm –2 Hours Practical Mon 1pm, Tue 4pm & Thu 9am

Module Details Course Handbook & Lecture Notes Assignment Details 50% assignment work 50% assignment work 50% two hour exam 50% two hour exam

Program of Study Week 01 Introduction Week 01 Introduction Week 02 General 3D concepts, Motion and Collision Week 02 General 3D concepts, Motion and Collision Week 03 Manipulating the Matrix stack Week 03 Manipulating the Matrix stack Week 04Model Importation and Binary File handling Week 04Model Importation and Binary File handling Week 05Model Interaction and Viewing transforms Week 05Model Interaction and Viewing transforms Week 06Windowing and GUI elements Week 06Windowing and GUI elements Week 07 Lighting and Shading Techniques Week 07 Lighting and Shading Techniques Week 08Lighting and Shading Techniques Week 08Lighting and Shading Techniques Week 09Textures & Texture Mapping Week 09Textures & Texture Mapping Week 10LOD, Mipmapping, tesselation Week 10LOD, Mipmapping, tesselation Week 11 Vertex and Pixel Shading Week 11 Vertex and Pixel Shading Week 12Assessments Week 12Assessments

Hierarchy of Models Geometry Physics Bio-Mechanics Behaviour

How does this work ? Simulation Loop Simulation Loop –read input sensors –update objects –render scene in display Uses traditional 3D graphics methods to render or ‘draw’ the scene Uses traditional 3D graphics methods to render or ‘draw’ the scene

Simulation Loop Check any defined actions Read Sensors Update objects with sensor input Objects perform tasks Step along any defined paths Render universe

Introducing OpenGL Graphics basics: Graphics basics: –Transform geometry (object  world, world  eye) –Apply perspective projection (eye  screen) –Clip to the view frustum –Perform visible-surface processing (Z-buffer) –Calculate surface lighting etc. Implementing all this is a lot of work (surprise) Implementing all this is a lot of work (surprise) OpenGL provides a standard implementation OpenGL provides a standard implementation –So why study the basics?

OpenGL Design Goals SGI’s design goals for OpenGL: SGI’s design goals for OpenGL: –Hardware independence without sacrificing performance –Natural, concise API with some built-in extensibility OpenGL has become a standard because: OpenGL has become a standard because: –It doesn’t try to do too much Only renders the image, doesn’t manage windows, etc. Only renders the image, doesn’t manage windows, etc. No high-level animation, modeling, sound (!), etc. No high-level animation, modeling, sound (!), etc. –It does enough Useful rendering effects + high performance Useful rendering effects + high performance –It is promoted by SGI (& Microsoft, half-heartedly)

OpenGL: Conventions Functions in OpenGL start with gl Functions in OpenGL start with gl –Functions starting with glu are utility functions (i.e., gluLookAt() ) –Functions starting with glx are for interfacing with the X Windows system (i.e., in gfx.c) Function names indicate argument type/# Function names indicate argument type/# –Functions ending with f take floats –Functions ending with i take ints, functions that end with v take an array, with b take byte, etc. –Ex: glColor3f() takes 3 floats, but glColor4fv() takes an array of 4 floats

OpenGL: Specifying Geometry Geometry in OpenGL consists of a list of vertices in between calls to glBegin() and glEnd() Geometry in OpenGL consists of a list of vertices in between calls to glBegin() and glEnd() –A simple example: telling GL to render a triangle glBegin(GL_POLYGON); glVertex3f(x1, y1, z1); glVertex3f(x2, y2, z2); glVertex3f(x3, y3, z3); glEnd(); –Usage: glBegin( geomtype ) where geomtype is: Points, lines, polygons, triangles, quadrilaterals, etc... Points, lines, polygons, triangles, quadrilaterals, etc...

What is 3D rendering? Object Viewer Generally deals with graphical display of 3D objects as seen by viewer Synthetic image will vary according to: viewing direction, viewer position, illumination, object properties,... Projection onto 2D surface

What is 3D Computer Graphics? 3D graphics: generation of graphical display (rendering) of 3D object(s) from specification (model(s)) 3D graphics: generation of graphical display (rendering) of 3D object(s) from specification (model(s)) Specification Modelling Graphical display Rendering such as

Wireframe polygonal modelSolid object Vertices Viewpoint Typical Processing Steps Facets Transformation Hidden surface removal Light source Shading

Object model(s) Illumination model Viewing and projection specification Graphics engine Graphical display Rendering: operations that produce view of scene projected onto view surface Modelling: numerical description of scene objects, illumination, and viewer Typical Processing Steps

Modelling Human Head Model 1438 facets

Modelling Human Head Model 7258 facets

Modelling Teacher and Board Model 2074 facets

Rendering Shaded Human Head 1438 facets

Rendering Shaded Human Head 7258 facets

Rendering Shaded Teacher and Board

Scene Graphs In VR programming the structure used is a scene graph which is special tree structure designed to store information about a scene. In VR programming the structure used is a scene graph which is special tree structure designed to store information about a scene. Typical elements include Typical elements include –geometries –positional information –lights –fog

Simple scene graph Fog node Light node Root node Group node Xform node Geom node

Scene Graph Nodes Content Nodes Content Nodes –contain basic elements of a scene geometry geometry light light position position fog fog Group Nodes Group Nodes –no content –link the hierarchy –allow grouping of nodes sharing a common state Parent Child #1 Parent Child #2

Example Hierarchy Geom Lampost Xform T2 Geom Dog Xform T1 Group “Dog” Group “Lampost” Light Root

Applications VR programming is used in many applications, e.g. VR programming is used in many applications, e.g. –Entertainment (computer games, ‘movie’ special effects,...) –Human computer interaction (GUI,...) –Science, education, medicine (visualisation …) –Business (marketing,...) –Art

Summary Simulation consists of a series of scenes Simulation consists of a series of scenes Objects defined as Scenes in a scene graph which may be one object or a related collection of objects Objects defined as Scenes in a scene graph which may be one object or a related collection of objects Each iteration of the simulation loop determines actions, translations(along paths) and other inputs which affect properties of the objects Each iteration of the simulation loop determines actions, translations(along paths) and other inputs which affect properties of the objects NOT animation !!! NOT animation !!! The world is redrawn using rendering process The world is redrawn using rendering process