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.

Slides:



Advertisements
Similar presentations
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.
Advertisements

OpenGL: Simple Use Open a window and attach OpenGL to it Set projection parameters (e.g., field of view) Setup lighting, if any Main rendering loop –Set.
Chapter 2: Graphics Programming
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
INTRODUCTION. Painting with numbers! Aspects Modeling Rendering Animation.
Lab 1: OpenGL Tutorial CS 282. What’s the plan for today? Go over our framework code. Learn some basic OpenGL! Reveal Lab 1 Answer questions.
What is OpenGL? Low level 2D and 3D Graphics Library Competitor to Direct3D (the rendering part of DirectX) Used in: CAD, virtual reality, scientific.
OpenGL (Graphics Library) Software Interface to graphics software Allows to create interactive programs that produce color images of moving 3D objects.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Shading Languages By Markus Kummerer. Markus Kummerer 2 / 19 State of the Art Shading.
Computer Graphics CS 385 February 7, Fundamentals of OpenGl and Glut Today we will go through the basics of a minimal OpenGl Glut project, explaining.
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
CSE328:Computer Graphics OpenGL Tutorial Dongli Zhang Department of Computer Science, SBU Department of Computer Science, Stony.
Programming In C++ Spring Semester 2013 Programming In C++, Lecture 1.
Course Overview, Introduction to CG Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 5, 2003.
Antigone Engine Kevin Kassing – Period
CAP4730: Computational Structures in Computer Graphics Introduction to OpenGL.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
COS 397 Computer Graphics Assoc. Prof. Svetla Boytcheva AUBG 2013 COS 397 Computer Graphics Practical Session №1 Introduction to OpenGL, GLFW and CG.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
Basic OpenGL Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Wednesday, September 10, 2003.
INTRO TO COMPUTER GRAPHICS TEXT EDWARD ANGEL: EDITION 5 CS770/870
OpenGL Shading Language (Advanced Computer Graphics) Ernest Tatum.
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.
Using OpenGL in Visual C++ Opengl32.dll and glu32.dll should be in the system folder Opengl32.dll and glu32.dll should be in the system folder Opengl32.lib.
CSC 461: Lecture 41 CSC461: Lecture 4 Introduction to OpenGL Objectives: Development of the OpenGL API OpenGL Architecture -- OpenGL as a state machine.
OpenGl Graphics Programming. Introduction OpenGL is a low-level graphics library specification. It makes available to the programmer a small set of geomteric.
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.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
Ch 2 Graphics Programming page 1 CSC 367 Coordinate Systems (2.1.2) Device coordinates, or screen coordinates (pixels) put limitations on programmers and.
1. OpenGL/GLU/GLUT  OpenGL v4.0 (latest) is the “core” library that is platform independent  GLUT v3.7 is an auxiliary library that handles window creation,
Introduction to GL Geb Thomas. Example Code int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode ( GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
CSE 581: Interactive Computer Graphics Spring 2012, UG 4 Tuesday, Thursday – 9:00AM – 10:18AM DL 0317 Raghu Machiraju Slides: Courtesy - Prof. Huamin Wang,
CS 480/680 Intro Dr. Frederick C Harris, Jr. Fall 2014.
به نام خدا تنظیم کننده : فرانه حدادی استاد : مهندس زمانیان تابستان 92.
System Programming - LAB 1 Programming Environments.
1 Graphics CSCI 343, Fall 2015 Lecture 2 Introduction to HTML, JavaScript and WebGL.
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
Introduction to Processing. 2 What is processing? A simple programming environment that was created to make it easier to develop visually oriented applications.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Programming with OpenGL Part 1: Background Ed Angel Professor Emeritus.
CPSC 453 Tutorial Xin Liu Sep 23, OpenGL An open standard of rendering pipeline A software interface to graphics hardware A useful set of APIs for.
Introduction to Computer Graphics 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 711,  ex 2271 
Introduction to OpenGL  OpenGL is a graphics API  Software library  Layer between programmer and graphics hardware (and software)  OpenGL can fit in.
Introduction to OpenGL. OpenGL is a low-level graphics library specification. It makes available to the programmer  a small set of geometric primitives.
Introduction to OpenGL and GLUT. What’s OpenGL? An Application Programming Interface (API) A low-level graphics programming API – Contains over 250 functions.
Chun-Yuan Lin Introduction to OpenGL 2015/12/19 1 CG.
NoufNaief.net TA: Nouf Al-harbi.
Computer Graphics and the Game Industry Speaker: Ted Bisson.
Ray Tracing using Programmable Graphics Hardware
CSCE 441: Computer Graphics
Lecture 2 Review OpenGL Libraries Graphics Overview Rendering Pipeline OpenGL command structure.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Graphics Programming. Graphics Functions We can think of the graphics system as a black box whose inputs are function calls from an application program;
COMP 175 | COMPUTER GRAPHICS Remco Chang1/XX13 – GLSL Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 12, 2016.
Programming Logic and Design Seventh Edition Chapter 1 An Overview of Computers and Programming.
OpenGL: The Open Graphics Language Technology and Historical Overview By Ricardo Veguilla.
Computer Graphics (Fall 2003) COMS 4160, Lecture 5: OpenGL 1 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Computer Graphics -practical- Lecture 6. (visual c++) open gl library To use open GL with VC++ we add these files:- 1)Glut.h C:\program files\ Microsoft.
UMBC GDC Programming Tutorial
Introduction to OpenGL
Outline Announcements Dynamic Libraries HWII on web, due Friday
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to OpenGL
3D applications in Delphi
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Introduction to OpenGL
Presentation transcript:

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 do not need an IDE like visual studio. (Follows the tradition of early programmers) 2. You can write simple or complex programs. 3. You can write graphics program for modern hardware, including CG Shaders for direct GPU programming.

Example: void draw3D () { Vector3DF a;// Define a vector a.Set ( 5, 4, 2 );// Set the vector glColor3f ( 1, 0, 0 );// Specify a color to OpenGL glBegin ( GL_LINES );// Start drawing lines glVertex3f ( 0, 0, 0 );// Point A of line glVertex3f ( a.x, a.y, a.z );// Point B of line glEnd (); } This will draw a line from the point 0,0,0 to point 5,4,2.

What does the IGX Framework do? The underlying programming language is C/C++. This defines the syntax for variables, functions, and loop The Luna Sandbox is a part of IGX which provides additional objects such as vectors, cameras, and images. Not normally part of OpenGL OpenGL is a part of IGX which does the low-level work of rendering. Commands are sent to the graphics hardware to make an image appear.

written in C/C++ calls libraries

MinGW – Command line compiler for C/C++ Example of how to run lab02. Notice that IGX starts the ‘gcc’ compiler, which “builds” your program.” The only this you need to do is type “run.”

GLUT – Library for simple window management GLUT is a part of your program code which creates a display window for output. In this class, you do not need to change this.

GLUT – Library for simple window management GLUT gives you a function where you can write 3D code. You only need to write your labs by creating some additional code. Only the required mini-project involves more programming. Drawing reference grid is done for you.

OpenGL – Low-level Graphics API library for rendering commands This is mainly what you will be learning to write. Calling low-level graphics command which draw images. Specifies a color Draws 3 lines, each /w different color, in 3D Your textbook is the main reference for writing OpenGL.

LUNA Sandbox – A set of libraries for mathematical objects. OpenGL is primarily for rendering commands. LUNA Sandbox provides additional objects not found in OpenGL. These include: - VectorsVector3DF, Vector4DF - MatricesMatrixF, Matrix4F - 3D Cameras - Images - Meshes - CG Graphics Shaders Example: Camera3D my_camera;// Create a 3D Camera Vector3DF camera_vec;// Create a vector camera_vec = camera.getPos ();// Set the vector to the current position of camera.

After you type “run.” you should get this! …. Example from lab #2.

Next week.. Your first OpenGL program! Lab #2: How do we draw vectors in 3D? How might we interact with those vectors using the mouse?