Electronic Mechanical [Image Courtesy: Pixar] [Image Courtesy: - - PowerPoint PPT Presentation

electronic
SMART_READER_LITE
LIVE PREVIEW

Electronic Mechanical [Image Courtesy: Pixar] [Image Courtesy: - - PowerPoint PPT Presentation

Architectural Electronic Mechanical [Image Courtesy: Pixar] [Image Courtesy: humanproductivitylab.com Science Geometry(E+DD)projections Physics of light, color, appearance Algebra of transformations Engineering


slide-1
SLIDE 1
slide-2
SLIDE 2
slide-3
SLIDE 3

» Architectural » Electronic » Mechanical

slide-4
SLIDE 4

[Image Courtesy: Pixar]

slide-5
SLIDE 5
slide-6
SLIDE 6

[Image Courtesy: humanproductivitylab.com

slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11

» Science

  • Geometry(E+DD)projections
  • Physics of light, color, appearance
  • Algebra of transformations

» Engineering

  • Graphics software libraries, GUI
  • Graphics processor architectures

» Art

  • Color and perception
  • Illustrative views
slide-12
SLIDE 12
  • Imaging = representing 2D images
slide-13
SLIDE 13
  • Imaging = representing 2D images
  • Modeling = representing 3D objects
slide-14
SLIDE 14
  • Imaging = representing 2D images
  • Modeling = representing 3D objects
  • Rendering = constructing 2D images from 3D models
slide-15
SLIDE 15
  • Imaging = representing 2D images
  • Modeling = representing 3D objects
  • Rendering = constructing 2D images from 3D models
  • Animation = simulating changes over time
slide-16
SLIDE 16
  • OpenGL is a software API to graphics hardware.
  • Designed as a streamlined, hardware-independent

interface.

  • Intuitive, procedural interface with ‘C/C++’ binding.
  • To access the system, we have to used a library called GL.
  • Omitted windowing and input to avoid window system

dependencies .

slide-17
SLIDE 17

Links with window system (GLUT)

 GLX for X window systems, WGL for Windows  Cross-platform GUI libraries: GLUT, SDL, FLTK, QT, …

OpenGL core library (GL)

  • OpenGL32 on Windows
  • GL on most unix/linux systems (libGL.a)

OpenGL Utility Library (GLU)

  • Provides functionality in OpenGL core but avoids having

to rewrite code

slide-18
SLIDE 18

C++ with GDI * More than 400 LOC C++ with OpenGL * Less than 20 LOC

slide-19
SLIDE 19

Display List Polynomial Evaluator Per Vertex Operations & Primitive Assembly Rasterization Per Fragment Operations Texture Memory

CPU

Pixel Operations Frame Buffer

slide-20
SLIDE 20

int main( int argc, char ** argv){ glutInit( &argc, argv); glutCreateWindow( argv[0] ); glutDisplayFunc( display); glutMainLoop(); return 0; } void display(){ glClear( GL_COLOR_BUFFER_BIT); glBegin( GL_TRIANGLES); glVertex2f( 0, -.5); glVertex2f( -.5, .5); glVertex2f( .5, .5); glEnd(); glFlush(); }

slide-21
SLIDE 21

int main( int argc, char ** argv){ glutInit( &argc, argv); glutCreateWindow( argv[0] ); glutDisplayFunc( display); glutMainLoop(); return 0; } void display(){ glClear( GL_COLOR_BUFFER_BIT); glBegin( GL_TRIANGLES); glVertex2f( 0, -.5); glVertex2f( -.5, .5); glVertex2f( .5, .5); glEnd(); glFlush(); } (0,0) (-1,1) (-1,-1) (1,1) (1,-1)

slide-22
SLIDE 22
slide-23
SLIDE 23
  • Translate , glTranslatef( dx, dy, dz);
  • Rotate, glRotatef(angle, x, y, z);
  • Scale, glScalef( sx, sy, sz);
slide-24
SLIDE 24

glColor3f(1.0f, 0.7f, 0.0f);

slide-25
SLIDE 25