配置OpenGL(Windows)

OpenGL(全写Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。这里将介绍如何在windows平台下,配置并开始第一个OpenGL程序。

目录

下载

使用OpenGL,我们需要下载它库文件,包括GLUT,freeGLUT,GLEW,GLTools。

注:freeGLUT其实在慢慢取代GLUT的地位;GLTools库是基于GLEW库的。

我这里提供所有的库文件,并且已经整理到了一起,大家可以直接下载。
下载地址:https://download.csdn.net/download/qq_34347375/10732637

配置

VS2015中配置OpenGL

我的VS2015安装到了I盘

1.将压缩包解压,你可以看到三个文件夹,dll,include, lib;

image_1cq5rac1isnu1oni1jst1a2ifm79.png-38.1kB

2.将include 文件夹中的所有文件复制到I:\Microsoft Visual Studio 14.0\VC\include中;

image_1cq5rfar812c1ltt1a6hccl10752m.png-57.6kB
image_1cq5rdhku1cr0p9s6911rg7vip29.png-66.8kB

3.将dll文件夹中的所有文件复制到I:\Microsoft Visual Studio 14.0\VC\binC:\Windows\SysWOW64C:\Windows\System32中;

image_1cq5rgacn12a56ftvjp1esi19s643.png-45.5kB
image_1cq5riaekvl1r6u1gn7s6qjqb4g.png-67.7kB

4.将lib文件夹中的所有文件复制到I:\Microsoft Visual Studio 14.0\VC\lib中;

image_1cq5riqbo6tkb1m1imi1p6if3m4t.png-42kB
image_1cq5rjh3f16qg1dpdhp1p0h1d1o5a.png-65.2kB

5.在OpenGL项目中添加附加依赖项;
在项目的附加依赖项中添加 gltools.lib opengl32.lib glew32s.lib

image_1cq5s20lslod12j19cs655a749.png-125.4kB

现在用程序测试一下:
源码如下:

#include <GLTools.h>
#include <GLShaderManager.h>
#include <GL/glut.h>
GLBatch triangleBatch;
GLShaderManager shaderManager;

void ChangeSize(int w, int h)
{
	glViewport(0, 0, w, h);
}

void SetupRC()
{
	glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
	shaderManager.InitializeStockShaders();
	GLfloat vVerts[] = {
		-0.5f,0.0f,0.0f,
		0.5f,0.0f,0.0f,
		0.0f,0.5f,0.0f };
	triangleBatch.Begin(GL_TRIANGLES, 3);
	triangleBatch.CopyVertexData3f(vVerts);
	triangleBatch.End();
}

void RenderScne(void)
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
	GLfloat VRed[] = { 1.0f,0.0f,0.0f,1.0f };
	shaderManager.UseStockShader(GLT_SHADER_IDENTITY, VRed);
	triangleBatch.Draw();
	glutSwapBuffers();
}

int main(int argc, char *argv[])
{
	gltSetWorkingDirectory(argv[0]);
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);
	glutInitWindowSize(800, 600);
	glutCreateWindow("Triangle");
	glutReshapeFunc(ChangeSize);
	glutDisplayFunc(RenderScne);

	GLenum err = glewInit();
	if (GLEW_OK != err) {
		fprintf(stderr, "GLEW Error:%s\n", glewGetErrorString(err));
		return 1;
	}
	SetupRC();

	glutMainLoop();
	return 0;
}

效果如下:

image_1cq5s5g73snm1kft122mklpho016.png-80.5kB

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值