Skip to main content

Setting up OpenGL environment for Microsoft Visual C++

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

Popular posts from this blog

Hi! I'm Java...

Java is a computer programming language. It enables programmers to write computer instructions using English based commands, instead of having to write in numeric codes. It’s known as a “high-level” language because it can be read and written easily by humans. Like English, Java has a set of rules that determine how the instructions are written. These rules are known as its “syntax”. Once a program has been written, the high-level instructions are translated into numeric codes that computers can understand and execute. Who Created Java? In the early nineties, Java was created by a team led by James Gosling for Sun Microsystems. It was originally designed for use on digital mobile devices, such as cell phones. However, when Java 1.0 was released to the public in 1996, its main focus had shifted to use on the Internet. It provided more interactivity with users by giving developers a way to produce animated webpages . Over the years it has evolved as a successful language for

Comparison over Intel Core 2 duo & Intel Core i3 Processor

A comparison between processors was simple some years ago with a single core processor. All you had to look at was the clocking frequency and the cache size. The entry of multiple core chips changed it all and life became complicated. With dual, quad and even six core processors hitting the market, there are many more factors to be considered, than before. Intel's dual core and core 2 duo processors were the first ones to introduce multi-core processor based computing. The quad core processors created later have given rise to the quad core vs dual core debate, as well as the core i5 vs core i7 comparison which is something that high-end computing market consumers should think about. Prior to that, we only had the 32 bit vs 64 bit processors comparison to worry about. Today, Intel has gone through a lot of designing and planning, to introduce core i3 processors that are an improvement over the core 2 duo line. The following Intel core i3 vs core 2 duo processor comparison wil

I'm the Server Operating System

Server Operating System A server operating system is software that was especially developed to serve as a platform for running multi-user computer programs, applications that are networked and programs critical to business computing. This type of operating system (OS) often comes bundled with the most common types of applications deployed in the client-server model, a term used to indicate the exchange of information between computers. For example, a hypertext transfer protocol (HTTP) or web server hosts or "holds" the text files, images files and scripts that work together to form a website. When someone connects to the Internet and types in a web address, the server that holds the files of the site delivers or "serves" the requested pages to the client computer or the machine that made the request. Frequently used applications in the client-server model handle operations for sharing files and printers across a network, hosting and serving web pages via the