CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 CSE 872 Advanced Computer Graphics Charles B. Owen (Instructor) – 1138 E. B., 353-6488 MW 12:30-1:50pm.

Slides:



Advertisements
Similar presentations
Graphics Pipeline.
Advertisements

2002 by Jim X. Chen:
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 11: OpenGL 3
Hidden Surfaces and Shading CS BSP Tree T1T1 T2T2 E if (f 1 (E) < 0) then draw T 1 draw T 2 else draw T 2 draw T 1 f 1 (p) = 0 is the.
1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.
1 CSC461 Lecture 7: 3D Programming in OpenGL Objectives: Develop 2D and 3D examples -- Sierpinski gasket: a fractal Develop 2D and 3D examples -- Sierpinski.
Computer Graphics (Spring 2008) COMS 4160, Lecture 14: OpenGL 3
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
CS 4731: Computer Graphics Lecture 11: 3D Viewing Emmanuel Agu.
OpenGL Tutorial Jason Lawrence COS426 Precept Notes 2/16/04.
Development of Interactive 3D Virtual World Applications
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
19/4/ :32 Graphics II Syllabus Selection and Picking Session 1.
3D coordinate systems X Y Z Right-Hand Coordinate System X Y Z Left-Hand Coordinate System OpenGL uses this! Direct3D uses this!
19/12/ :35 Course Information: Computer Graphics I Instructor: Dr. Hugh Masterman The MITRE Corporation Texts:Interactive.
1 OpenGL Basics A Graphics Standard ©Mel Slater, Anthony Steed
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
The Viewing Pipeline (Chapter 4) 5/26/ Overview OpenGL viewing pipeline: OpenGL viewing pipeline: – Modelview matrix – Projection matrix Parallel.
Geometric transformations The Pipeline
1 Computer Graphics (under) Sep., 2003 Jung Hong Chuang CSIE NCTU.
Programming for Virtual Reality Applications Projection in OpenGL Lighting and Shading Lecture 17.
CS380 LAB IV OpenGL Jonghyeob Lee Reference1. [OpenGL course slides by Rasmus Stenholt] Reference2. [
Homogeneous Form, Introduction to 3-D Graphics Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, October 20,
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Introduction to OpenGL 1. 2 OpenGL A Graphics rendering API introduced in 1992 by Silicon Graphics Inc Provide the low-level functions to access graphics.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Computer Graphics Bing-Yu Chen National Taiwan University.
Computer Science Term 1, 2006 Tutorial 2 Assignment 3 – The Virtual World.
Intro to OpenGL Transformations CS 445/645 Introduction to Computer Graphics David Luebke, Spring 2003.
OpenGL Color and Lighting 2003 Spring Keng Shih-Ling.
OpenGL Lighting Jian-Liang Lin 2002 Hidden-Surface Removal -1 Original Code: while (1) { get_viewing_point_from_mouse_position(); glClear(GL_COLOR_BUFFER_BIT);
Graphics Graphics Korea University kucg.korea.ac.kr Viewing 고려대학교 컴퓨터 그래픽스 연구실.
Viewing and Transformation. Pixel pipeline Vertex pipeline Course Map Transformation & Lighting Primitive assembly Viewport culling & clipping Texture.
Chapters 5 2 March Classical & Computer Viewing Same elements –objects –viewer –projectors –projection plane.
CGGM Lab. Tan-Chi Ho 2001 Viewing and Transformation.
Projections. Viewports Windows can have separate viewports void glViewport(GLint x, GLint y, GLsizei width, GLsizei height ) x, y - Specify the lower.
OpenGL: The Open Graphics Language Introduction By Ricardo Veguilla.
David Luebke1/5/2016 CS 551 / 645: Introductory Computer Graphics David Luebke
1 Angel: Interactive Computer Graphics5E © Addison- Wesley 2009 Image Formation Fundamental imaging notions Fundamental imaging notions Physical basis.
Chap 3 Viewing and Transformation
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.
CS559: Computer Graphics Lecture 12: OpenGL - Transformation Li Zhang Spring 2008.
OpenGL & OpenSceneGraph Graphics Programming Katia Oleinik:
Illumination CSE 410. Basic steps of lighting Enable smooth shading Set global ambient light glShadeModel(GL_SMOOTH); glEnable(GL_NORMALIZE); GLfloat.
CSC Graphics Programming Budditha Hettige Department of Statistics and Computer Science.
OpenGL LAB III.
CS380 LAB II OpenGL Donghyuk Kim Reference1. [OpenGL course slides by Rasmus Stenholt] Reference2. [
CSC Graphic Programming Lecture 2 OpenGL Lightning.
Viewing 고려대학교 컴퓨터 그래픽스 연구실 kucg.korea.ac.kr.
Draw a Simple Object.
Jason Lawrence COS426 Precept Notes 2/16/04
3D Computer Graphics (3080/GV10) Week 5-6 Tutorial 3
Reference1. [OpenGL course slides by Rasmus Stenholt]
Real-time Computer Graphics Overview
Programming with OpenGL Part 3: Three Dimensions
Models and Architectures
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Lighting and Shading Lab 8:.
Programming with OpenGL Part 3: Three Dimensions
Introduction to OpenGL
Computer Graphics Prof. Muhammad Saeed Dept. of Computer Science & IT
Introduction to Computer Graphics with WebGL
Lighting and Shading Lab 8:.
Programming with OpenGL Part 3: Three Dimensions
Computer Graphics (under.) Sep., 2017
Programming with OpenGL Part 3: Three Dimensions
Angel: Interactive Computer Graphics5E © Addison-Wesley 2009
Presentation transcript:

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 CSE 872 Advanced Computer Graphics Charles B. Owen (Instructor) – 1138 E. B., MW 12:30-1:50pm in Kresge Art Center 041

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics2 Introduction Introduction to the class – Structure, rules, etc. Where do we stand? – What you should know coming in or get caught up on!

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics3 Course Content Basic and advanced modeling Scan conversion for photorealistic rendering Ray tracing and related methods Radiosity and hybrid methods Particle-based methods Physical modeling Water and fire Curves, splines, NURBS

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics4 Course Content Quaterians for computer graphics Computational geometry Non-photorealistic methods Volume rendering and constructive solid geometry Gaming and simulation Level of detail Augmented reality techniques

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics5 Course Content: Anything else? Real time using hardware – Pixel shaders Virtual reality Animation techniques Motion capture Post-production

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics6 Course Structure See the syllabus

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics7 Course Materials Textbooks – Advanced Animation and Rendering Techniques, Alan Watt, Mark Watt. ISBN: – OpenGL Programming Guide, Fifth Edition, Shreiner, Woo, Neider, and Davis, Addison Wesley, ISBN (Optional) WWW – – And on angel (angel.msu.edu)

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics8 Course Structure… Paper review/presentation Explorations Project 1 Project 2 Project 3 Class Participation

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics9 Where do we stand? What do we know about: – Configuring projection matrices – Configuring modelview matrices – Culling, depth testing – Lighting – Materials – What happens when you do glVertex?

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics10 void CChildView::OnGLDraw(CDC *pDC) { glClearColor(0.0f, 0.0f, 0.0f, 0.0f) ; glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Set up the camera glMatrixMode(GL_PROJECTION); glLoadIdentity(); // Determine the screen size so we can determine the aspect ratio int width, height; GetSize(width, height); // Set the camera parameters gluPerspective(25., // Vertical field of view in degrees. GLdouble(width) / GLdouble(height), // The aspect ratio. 10., // Near clipping 200.); // Far clipping // Set the camera location glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(20., 10., 50., // eye x,y,z 0., 0., 0., // center x,y,z 0., 1., 0.); // Up direction

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics11 // Enable depth test glEnable(GL_DEPTH_TEST); // Cull backfacing polygons glCullFace(GL_BACK); glEnable(GL_CULL_FACE); // Enable lighting glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); GLfloat lightpos[] = {.5, 1, 1, 0.}; // GLfloat lightpos[] = {10., 10., 10., 1.}; glLightfv(GL_LIGHT0, GL_POSITION, lightpos);

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics12 glPushMatrix(); GLfloat white[] = {0.8f, 0.8f, 0.8f, 1.0f}; GLfloat cyan[] = {0.f,.8f,.8f, 1.f}; glMaterialfv(GL_FRONT, GL_DIFFUSE, cyan); glMaterialfv(GL_FRONT, GL_SPECULAR, white); GLfloat shininess[] = {100}; glMaterialfv(GL_FRONT, GL_SHININESS, shininess); glRotated(m_spinangle, 1,.5,.7); Box(5, 5, 5); glPopMatrix(); glFlush();

CSE 872 Dr. Charles B. Owen Advanced Computer Graphics13 void CChildView::Box(GLdouble p_x, GLdouble p_y, GLdouble p_z) { GLdouble a[] = {0., 0., p_z}; GLdouble e[] = {0., 0., 0.}; GLdouble b[] = {p_x, 0., p_z}; GLdouble f[] = {p_x, 0., 0.}; GLdouble c[] = {p_x, p_y, p_z}; GLdouble g[] = {p_x, p_y, 0.}; GLdouble d[] = {0., p_y, p_z}; GLdouble h[] = {0., p_y, 0.}; // Front glBegin(GL_QUADS); glNormal3d(0, 0, 1); glVertex3dv(a); glVertex3dv(b); glVertex3dv(c); glVertex3dv(d); glEnd(); // Right glBegin(GL_QUADS); glNormal3d(1, 0, 0); glVertex3dv(c); glVertex3dv(b); glVertex3dv(f); glVertex3dv(g); glEnd();