OpenGL学习(一) 环境配置 glew + glfw / glut
VS配置glew+glfw
1.下载资源
放在一个指定位置。比如下面:
2.新建空项目和源代码
3.引入资源
右键项目名——属性
注意:配置 和 平台 要选成 所有。
需要配置三个地方:
1)C/C++ 常规 附加包含目录
新建行然后添加目录:
从OpenGL文件(你放资源的地方)中,选中如下目录(进入到include里就可以添加了),添加进去。
2)链接器 常规 附加库目录
把下面两个东西放进去:
注意第一个glfw,选择相应VS版本的的lib文件夹。
3)链接器 输入 附加依赖项
把下面三个东西输进去:
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有关的文章写出来,是我们计图小组分享看的。把代码,文章,学习资料或是一些链接总结在这里,方便参考和学习。
上一篇: unity用虚拟相机截图
下一篇: Unity虚拟天文馆