欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

OpenGL环境配置

程序员文章站 2022-04-23 13:51:54
OpenGL(1):环境配置前言1、glew2、freeglut3、gltools项目属性设置我的第一个OpenGL程序前言VS2015 的OpenGL 环境搭配1、glew地址:https://sourceforge.net/projects/glew/(1)…\include\ 下全部文件移动到 你的VS目录\VC\include(2)…\lib\Release\x64 下全......

前言

VS2015 的OpenGL 环境搭配

1、glew

地址:https://sourceforge.net/projects/glew/
(1) …\include\ 下全部文件移动到 你的VS目录\VC\include
(2) …\lib\Release\x64 下全部文件移动到 你的VS目录\VC\lib\amd64
(3) …\bin\Release\x64下全部文件移动到 你的VS目录\VC\bin\amd64

2、freeglut

地址:https://sourceforge.net/projects/freeglut/
(1)cmake
OpenGL环境配置
填写完两个路径后
点击 Configure
这里我的VS版本是2015,我选的是2015WIN64
等待一段时间
OpenGL环境配置
再点击 Generate
OpenGL环境配置
此时 Open Project可用,点击之后,便进入VS中
我们把选项改为
OpenGL环境配置
之后生成解决方案即可。
下面将编译后的文件移动至VS目录
(1) 下载的压缩包\include\ 下全部文件移动到 你的VS目录\VC\include
(2) VS工程下\lib\Release 下相关lib移动至 你的VS目录\VC\lib\amd64
(3) VS工程下\bin\Release下相关dll移动至 你的VS目录\VC\bin\amd64

3、gltools

地址:https://github.com/HazimGazov/GLTools
下载后新建一个VS静态链接库空的工程
并将相关源码移动至工程内
OpenGL环境配置
该工程内有几个WIN32宏,将其改为_WIN32,并且修改发布类型
OpenGL环境配置
生成
(1) 下载的压缩包\include\ 内全部文件移动到 你的VS目录\VC\include
(2) VS工程下\x64\Release\工程名字.lib 移动至 你的VS目录\VC\lib\amd64

项目属性设置

项目属性设置
OpenGL环境配置
OpenGL环境配置
OpenGL环境配置

OK,属性设置完毕,接下来给出我的第一个OpenGL程序代码

我的第一个OpenGL程序

新建一个空的控制台程序
新建main.cpp文件

main.cpp

#include <iostream>
#include <GL/GLTools.h>
#include <GL/GLShaderManager.h>

#ifdef _WIN32
#define FREEGLUT_STATIC
#include <GL/glut.h>
#endif

GLBatch		triangleBatch;
GLShaderManager	shaderManager;

void changed_size(int w, int h) {
	// 修改视窗size
	glViewport(0, 0, w, h);
}

// 初始化渲染环境
void setup_rc() {

	// 蓝色背景
	glClearColor(0.f, 0.f, 1.f, 1.f);

	// 初始化shader
	shaderManager.InitializeStockShaders();

	// 定义三角形的定点
	GLfloat	vertex[] = {	-.5f,0.f,0.f,
							0.5f,0.f,0.f,
							0.f,.5f,0.f};

	// 加载三角形
	triangleBatch.Begin(GL_TRIANGLES, 3);
	triangleBatch.CopyVertexData3f(vertex);
	triangleBatch.End();
}

// 渲染
void render_scene(void) {

	// 清除颜色缓冲、深度缓冲、模板缓冲
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

	// 红色 RBGA
	GLfloat red []= { 1.f,0.f,0.f,1.f };
	
	// 使用默认shader
	shaderManager.UseStockShader(GLT_SHADER_IDENTITY, red);

	// 绘制
	triangleBatch.Draw();

	// 交换缓冲区
	glutSwapBuffers();
}

int main(int argc, char**argv) {

	gltSetWorkingDirectory(*argv);
	
	glutInit(&argc,argv);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);
	glutInitWindowSize(800, 600);
	glutCreateWindow("Triangle");
	glutReshapeFunc(changed_size);
	glutDisplayFunc(render_scene);

	GLenum err = glewInit();
	if (GLEW_OK != err) {
		std::cerr << "GLEW Error : " << glewGetErrorString(err) << std::endl;
		return 1;
	}

	setup_rc();

	glutMainLoop();

	return 0;
}

效果如图
OpenGL环境配置

本文地址:https://blog.csdn.net/u011760195/article/details/85886213