Download presentation
Presentation is loading. Please wait.
1
Surface Rendering With OpenGL CS460 Project by Rui Yu 11/30/03
2
Two aspects Windowing system or user interface Use MFC Create a window Viewport is the client area of the window Capture mouse move events in the client area Add buttons on a tools bar OpenGL commands Use gl,glu fuctions Viewing pipeline Surface rendering
3
Viewing pipeline ChoosePixelFormat // Define pixel format wglCreateContext //Create rendering context. glMatrixMode(GL_MODELVIEW); glRotatef //rotate glScalef //scale glMatrixMode(GL_PROJECTION) glOrtho(-1,1,-1,1,-1,1); // Parellel projection glViewport(0, 0, cx, cy); glBegin(GL_LINES); //or GL_POLYGON and etc. glVertex3d glEnd; SwapBuffers; 3D modeling coordinates 3D world coordinates Modeling transformation Clipping & projection 2D device coordinates Transform into viewport
4
Example : Pixel Format: DOUBLE BUFFER, RGBA, DRAW_TO_WINDOW View volume:
5
Screen Shots (1) -draw 3D points interactively
6
Screen Shots (2) -draw 3D bezier surface with zoom and rotation
7
Shading The Mathematics of Lighting: vertex color = global ambient light * ambient material + i attenuation factor *I i * [ ambient light *ambient material + (max { 1 x n, 0 } ) * diffuse light * diffuse material + (max {s x n,0} )*shininess * specular light * specular material ] l : the unit vector that points from the vertex to the light position n: the unit normal vector at the vertex. Default Lighting Value: Global Ambient Light: { 0.2, 0.2, 0.2, 1.0 };
8
Table2: Default Values for glMaterial() Parameter NameDefault ValueMeaning GL_AMBIENT(0.2, 0.2, 0.2, 1.0)ambient color of material GL_DIFFUSE(0.8, 0.8, 0.8, 1.0)diffuse color of material GL_SPECULAR(0.0, 0.0, 0.0, 1.0)specular color of material GL_SHININESS0.0specular exponent Table1: Default Values for glLight0() Parameter NameDefault ValueMeaning GL_AMBIENT(0.0, 0.0, 0.0, 1.0)ambient RGBA intensity of light GL_DIFFUSE(1.0, 1.0, 1.0, 1.0)diffuse RGBA intensity of light GL_SPECULAR(1.0, 1.0, 1.0, 1.0)specular RGBA intensity of light GL_POSITION(0.0, 0.0, 1.0, 0.0)(x, y, z, w) position of light
9
Screen Shots (3) -Change light intensity and material property (1)
10
Screen Shots (4) -Change light intensity and material property (2)
11
Screen Shots (5) -Drag control points of bezier surface and texture mapping (1)
12
Screen Shots (6) -Drag control points of bezier surface and texture mapping (2)
13
bibliography Msdn http://www.msdn.com OpenGL Programming Guide or 'The Red Book’ from Silicon Graphics, Inc Guide to OpenGL on Windows from Silicon Graphics http://www.opengl.org/developers/documentation/overviews.html OpenGL Win32 Tutorial http://www.nullterminator.net/opengl32.html http://www.opengl.org/developers/code/tutorials.html Basic Curves And Surfaces Modeler by Sharjith http://www.codeproject.com/useritems/cadsurf.asp
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.