Tag Archives: OpenGL

一个最基本的OpenGL程序

该程序演示了如何使用OpenGL在屏幕上绘制一条直线,使用VC6.0控制台工程。

整个实现过程大致是:

1、使用glutInit()初始化glut;

2、设置显示窗体尺寸、大小参数;

3、创建显示窗体;

4、设置显示参数及投影;

5、设置显示窗体回调函数,用于在窗体刷新时显示图形;

6、调用glut循环glutMainLoop()。

 

程序代码如下:

/*-------------------------------------------------------
* Project    : Computer Graphics with OpenGL
* Program    : Template Project
* Copyright  : YunFei Studio
* Website    : http://www.YFworld.com
* Programmer : Xiaotian,Dai
* Mail       : automatic.dai@gmail.com
* Version    : V1.0.0.120213
--------------------------------------------------------
* Notes :

--------------------------------------------------------
* Patches :

-------------------------------------------------------*/
#define GLUT_DISABLE_ATEXIT_HACK	// avoid error:glutInitWithExit
#include "GL/glut.h"				// No need to contain gl & glu, it's included in

void init(void)
{
	// Set clear color to white
	// but don't do effect until glClear() is used
	glClearColor(1.0, 1.0, 1.0, 0.0);

	// Set projection parameters
	glMatrixMode(GL_PROJECTION);
	gluOrtho2D(0.0, 200.0, 0.0, 150.0);
}

// Here is a callback function
void lineSegment(void)
{
	// Clear display window
	glClear(GL_COLOR_BUFFER_BIT);

	// Specify line-segment geometry
	glColor3f(0.0, 0.0, 0.0);
	glBegin(GL_LINES);
		glVertex2i(180, 15);
		glVertex2i(10, 145);
	glEnd();

	// Process all OpenGL routines
	glFlush();
}

int main(int argc, char *argv[])
{
	glutInit(&argc, argv);							// Init glut
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);	// Set display mode.
	glutInitWindowPosition(50, 100);				// Set top-left window position
	glutInitWindowSize(400, 300);					// Set width and height
	glutCreateWindow("OpenGL Test - YFWorld!");		// Create display window

	init();											// initialization procedure
	glutDisplayFunc(lineSegment);					// Send graphics to display window
	glutMainLoop();									// Display and wait

	return 0;
}

 

程序运行结果:

在VC6.0中配置OpenGL

首先从网上下载“OpenGL开发库”,搜索该关键字可以得到很多结果,因为链接经常失效,在此不再贴出。

OPENGL开发库的结构如下:
…………\DLL
…………\…\GLU.DLL
…………\…\GLU32.DLL
…………\…\GLUT.DLL
…………\…\GLUT32.DLL
…………\…\OPENGL32.DLL
…………\INCLUDE
…………\…….\GL
…………\…….\..\GL.H
…………\…….\..\GLAUX.H
…………\…….\..\GLU.H
…………\…….\..\GLUT.H
…………\LIB
…………\…\GLAUX.LIB
…………\…\GLU32.LIB
…………\…\GLUT32.LIB
…………\…\OPENGL32.LIB

将.dll放到X:/windows/system32目录下,

将.h文件放到…/Microsoft Visual Studio/VC98/Include/GL目录下,

将.lib放到…/Microsoft Visual Studio/VC98/Lib目录下。

接下来就可以开始你的OpenGL之旅了!