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

OpenGL学习(一) 环境配置 glew + glfw / glut

程序员文章站 2022-03-25 20:25:13
...

VS配置glew+glfw

1.下载资源
放在一个指定位置。比如下面:
OpenGL学习(一) 环境配置 glew + glfw / glut
2.新建空项目和源代码
OpenGL学习(一) 环境配置 glew + glfw / glutOpenGL学习(一) 环境配置 glew + glfw / glut
3.引入资源
右键项目名——属性

注意:配置 和 平台 要选成 所有。

需要配置三个地方:

1)C/C++ 常规 附加包含目录
OpenGL学习(一) 环境配置 glew + glfw / glut
新建行然后添加目录:
从OpenGL文件(你放资源的地方)中,选中如下目录(进入到include里就可以添加了),添加进去。
OpenGL学习(一) 环境配置 glew + glfw / glutOpenGL学习(一) 环境配置 glew + glfw / glut
2)链接器 常规 附加库目录
OpenGL学习(一) 环境配置 glew + glfw / glut
把下面两个东西放进去:
注意第一个glfw,选择相应VS版本的的lib文件夹。
OpenGL学习(一) 环境配置 glew + glfw / glut
3)链接器 输入 附加依赖项
OpenGL学习(一) 环境配置 glew + glfw / glut
把下面三个东西输进去:
OpenGL学习(一) 环境配置 glew + glfw / glut
4.大功告成
下面放上代码,可以测试一下。代码是最基础的创建窗口,可以看着注释理解一下。

#include <iostream>

#define GLEW_STATIC
#include <GL/glew.h>
#include <GLFW/glfw3.h>

//键盘输入ESC,就关闭窗口(检测特定键是否被按下)
void processInput(GLFWwindow* window)
{
	if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
		glfwSetWindowShouldClose(window, true);
}

int main()
{
	//初始化glfw
	glfwInit();
	glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
	glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);	//设置版本
	glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);	//核心模式
	
	//创建(打开)一个窗口
	GLFWwindow* window = glfwCreateWindow(600, 400, "OpenGL", NULL, NULL);
	if (window == NULL)
	{
		printf("Failed to create GLFW window\n");
		glfwTerminate();
		return -1;
	}
	glfwMakeContextCurrent(window);	//将我们窗口的上下文设置为当前线程的主上下文

	//初始化glew
	glewExperimental = true;
	if (glewInit() != GLEW_OK)
	{
		printf("init glew failed!\n");
		glfwTerminate();
		return -1;
	}

	//设置视口
	glViewport(0, 0, 600, 400);

	//渲染循环
	while (!glfwWindowShouldClose(window))	//检测glfw是否要求退出	
	{
		//检测输入
		processInput(window);		

		//渲染指令
		glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
		glClear(GL_COLOR_BUFFER_BIT);


		//
		glfwSwapBuffers(window);	//交换缓冲区
		glfwPollEvents();			//检查有没有触发事件,比如获得键盘或鼠标的输入
	}

	//释放之前分配的资源
	glfwTerminate();
	return 0;

}

5.学习资源
教程:
https://learnopengl-cn.github.io/01%20Getting%20started/04%20Hello%20Triangle/

视频:
https://www.bilibili.com/video/av24353839/?p=5

CodeBlocks配置glut

按照老师给的资料里配置就好了。

将glut.h文件放到Codeblocks\MinGw\include\GL目录下面。
将glut32.dll文件放到C:\windows\system32目录下面(如果是64位操作系统的话,将这个文件放到C:\Windows\SysWOW64目录下面)。
将libglut32.a放到Codeblocks\MinGw\lib\目录下面。

Codeblocks下配置OpenGL所需的正确的库文件libglut32.a。
配置文章参见:http://blog.csdn.net/yang_7_46/article/details/24674849

http://wenku.baidu.com/link?url=38AgSxcu1TRrGZtVTsjmJhM-f8aJzUf9JqmjYlLqMNGcQcrb_FOza_uE7_–92ds6t4xVfSjwHVulOf9ceEBM377UdhoZYGuq2xHwGKRcRC
唯一不同的是,添加的build linker库文件是libglut32.a

1.创建project,选择GLUT project,点击Go;
2.点击next;
3.给project起名,并指定项目所在路径;
4.给定MinGW所在路径;
5.点击finish.
6.在CodeBlocks窗口打开Sources下的main.cpp,必要时可以添加:#include <windows.h>
7.在主菜单Project中点击选项build Options,点击Linker页框,点击
Add按扭,在弹出窗口里选择libglut32.a文件(包含所在路径),点击OK按扭,再点击OK按扭关闭build Options。

说明

目前与OpenGL有关的文章写出来,是我们计图小组分享看的。把代码,文章,学习资料或是一些链接总结在这里,方便参考和学习。