Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to OpenGL Keng Shih-Ling 2003 Spring.

Similar presentations


Presentation on theme: "Introduction to OpenGL Keng Shih-Ling 2003 Spring."— Presentation transcript:

1 Introduction to OpenGL Keng Shih-Ling 2003 Spring

2 Example OpenGL example

3 OpenGL is a Graphics API A software interface for graphics hardware. Provide the low-level functions to access graphics hardware directly. OpenGL / Direct3D OpenGL functions use the prefix gl.

4 OpenGL is a Graphics API Application GDI Display Device OpenGL Hardware Driver …

5 OpenGL library Microsoft’s implementation –From Win95 OSR2, Microsoft Windows ship with OpenGL32.DLL. –For old Win95 users, you still can download OPENGL95.EXE via Microsoft website. –Header files and import library files are already included in Win32 Platform SDK.

6 OpenGL library Microsoft’s OpenGL32.DLL applies a hardware accelerated driver registered in Registry. – HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers –You can search it by using REGEDIT.EXE

7 API Hierarchy

8 OpenGL Utility Library The OpenGL Utility Library(GLU) provides many of the modeling features, such as quadric surfaces and NURBS curves and surfaces. GLU is a standard part of every OpenGL implementation GLU routines use the prefix glu. – gluLookAt( … ); –…

9 Windows system related helper library For every window system, there is a library that extends the functionality of that window system to support OpenGL rendering. –X Window System -> GLX –Microsoft Windows -> WGL –IBM OS/2 -> PGL

10 OpenGL Utility Toolkit The OpenGL Utility Toolkit (GLUT) is a window system-independent toolkit, written by Mark Kilgard, to hide the complexities of differing window system APIs. GLUT routines use the prefix glut. – glutPostRedisplay(); –…

11 OpenGL Utility Toolkit You can download this toolkit in the following website –Win32 http://www.xmission.com/~nate/glut.html –Linux http://www.mesa3d.org We focus on this toolkit

12 Basic Setup (GLUT) On Microsoft Visual C++ 6: –Put glut.h into /include/GL/ –Put glut.lib into /lib/ –Put glut32.dll into /System32/ On Microsoft Visual C++.NET: –Put glut.h into /platformSDK/include/GL/ –Put glut.lib into /platformSDK/lib/ –Put glut32.dll into /System32

13 How to Compile (VC6.0) On Microsoft Visual C++ 6: –Create a new Project with Win32 Console Application –Open Project Settings dialog and add opengl32.lib glu32.lib glut32.lib into Link/Objects/library modules. –Writing your OpenGL code. –Compile it.

14 How to Compile (.NET) On Microsoft Visual C++.NET: – 建立 Win32 專案 – 在應用程式設定,選擇主控台應用程式 – 開啟專案屬性,在連結器 / 輸入 / 其他相依性 中輸入 opengl32.lib glu32.lib glut32.lib 。 –Writing your OpenGL code. –Compile it.

15 How to Compile (.NET)

16 The Simplest Program #include void GL_display() { glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0f, 1.0f, 1.0f); glutSolidCube(1.0); glFlush(); } void GL_reshape(GLsizei w, GLsizei h) { glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-2.0f, 2.0f, -2.0f, 2.0f, -2.0f, 2.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); }

17 The Simplest Program void main(void) { glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutCreateWindow("Sample"); glutDisplayFunc(GL_display); glutReshapeFunc(GL_reshape); glutMainLoop(); }

18 The Simplest Program

19 Reference Official site of OpenGL –http://www.opengl.orghttp://www.opengl.org Useful Sites –NeHe’s OpenGL TutorialsNeHe’s OpenGL Tutorials –The Developer’s GalleryThe Developer’s Gallery

20 Reference Further Reading –OpenGL Programming Guide (Red Book) –OpenGL Reference Manual (Blue Book) –OpenGL Super Bible ( 中文版 )

21 Any Question? ?


Download ppt "Introduction to OpenGL Keng Shih-Ling 2003 Spring."

Similar presentations


Ads by Google