Hi Friends, before starting
the setting up OpenGL environment, please do the following first:
1.
Install
Microsoft Visual C++ 6.0 (Comes with Ms Visual Studio 6.0)
2.
Download
the file called “opengl95.exe” and “glutdlls.zip” from internet. [Just open
browser-> navigate http://www.google.com
-> type upper mentioned file name and search -> you will definitely find
the appropriate link to download.]
3.
Run
opengl95.exe file and it will be extracted and will be generated some files. Copy
those files and
4.
Extract
the file “glutdlls.zip” and it will also generate some more files.
5.
Now,
combine all extracted files from two sources (opengl95.exe and glutdlls.zip)
and place in one location.
Setting up OpenGL environment for
Microsoft Visual C++
With any
system, you can start with a C\C++ compiler and install appropriate OpenGL
header files (.h) and libraries. Three libraries associated with header files
are required for the use of OpenGL:
·
OpenGL (The basic API tool)
·
GLU
(the OpenGL Utility Library)
·
GLUT
(the OpenGL utility Toolkit)
Typically,
files are associated with each library
are:
·
Header
Files (.h)
·
Library
Files: Static Library Files (.lib) and Dynamic Linked Library (.dll).
o
Adding Header Files: We can place (add) the three
header files: Gl.h, Glu.h, Glut.h in a subdirectory of the include directory
of your compiler. Thus, in each application program we may write the following
include statements:
#include<gl/Gl.h>
#include<gl/Glu.h>
#include<gl/Glut.h>
o
Adding
Library Files: Now,
you have to add the appropriate OpenGL library (.lib and .dll) files to your
project so that the linker can find them, in order to run your program
successfully.
Ms. Visual C++ (5.0 or later) is
a suitable environment for using OpenGL. If you are working with Ms Visual C++
i.e., “win32 console application”, there is no need to build a Graphical User
Interface (GUI): as the input from the keyboard and output of text take place
through the separate console window.
When upper mentioned files have
been downloaded, copy all extracted files and place those into following:
1. C:\Program
files\Microsoft Visual Studio\VC98\lib\
2. C:\Windows\System32\
Now,
Restart your pc….
·
NOW CREATING A PROJECT IN VC++
6.0 AND EXECUTE AN OPENGL APPLICATION:
·
Steps:
o
Open Ms. Visual C++ 6.0
o
Choose: File -> New
§
In the project tab choose: Win32
Console Application
§
Enter a unique project name eg. Myfirstopengl
§
Click on ok
§
Now Choose option “An empty
project”
§
Click finish then “Ok”.
o
Now, go to “Project” menu ->
Settings
o
Go to “Link” tab menu.
o
In the “Object/ Library modules”
enter the names of the three .lib files as
Glu32.lib
glut32.lib opengl32.lib
§
Press Ok
o
Now, go to “File” -> “New”
o
Choose “C++ Source File”
o
Name it. Eg. Firstgl
o
Press “Ok”
o
Write your code
o
Press “F7” to built
o
Press Ctrl+f5 to run
A
SAMPLE OpenGL Code
#include <c:\windows\system32\glut.h>
GLfloat xRotated, yRotated,
zRotated;
void
Display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0.0,0.0,-4.0);
glRotatef(xRotated,1.0,0.0,0.0);
glRotatef(yRotated,0.0,1.0,0.0);
glRotatef(zRotated,0.0,0.0,1.0);
glScalef(2.0,1.0,1.0);
glutWireCube(1.0);
glFlush(); //Finish
rendering
glutSwapBuffers();
}
void
Reshape(int x, int y)
{
if
(y == 0 || x == 0) return; //Nothing is
visible then, so return
//Set
a new projection matrix
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//Angle
of view:40 degrees
//Near
clipping plane distance: 0.5
//Far
clipping plane distance: 20.0
gluPerspective(40.0,(GLdouble)x/(GLdouble)y,0.5,20.0);
glMatrixMode(GL_MODELVIEW);
glViewport(0,0,x,y); //Use the whole window for rendering
}
void
Idle(void)
{
xRotated
+= 0.3;
yRotated
+= 0.1;
zRotated
+= -0.4;
Display();
}
int
main (int argc, char **argv)
{
//Initialize
GLUT
glutInit(&argc,
argv);
glutInitDisplayMode(GLUT_DOUBLE
| GLUT_RGB); //For animations you should
use double buffering
glutInitWindowSize(300,300);
//Create
a window with rendering context and everything else we need
glutCreateWindow("Cube
example");
glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);
xRotated
= yRotated = zRotated = 0.0;
glClearColor(0.0,0.0,0.0,0.0);
//Assign
the two used Msg-routines
glutDisplayFunc(Display);
glutReshapeFunc(Reshape);
glutIdleFunc(Idle);
//Let
GLUT get the msgs
glutMainLoop();
return
0;
}
Comments
Post a Comment