OpenGL学习——第一天(环境搭建VS2017)

虽然写这个博客主要目的是为了给我自己做一个思路记忆录,但是如果你恰好点了进来,那么先对你说一声欢迎。我并不是什么大触,只是一个菜菜的学生,如果您发现了什么错误或者您对于某些地方有更好的意见,非常欢迎您的斧正!

学习来源:https://learnopengl-cn.github.io/01%20Getting%20started/01%20OpenGL/

还是老话吧,为了学过就忘,准备写点东西,或者摘抄点东西。

目录

❶前提需知:

❷扩展

❸OpenGL本身就是个状态机

❹对象(没记录)

❶环境配置


前提需知

●需求:有一点基础的C++水平。

绿色方框是一些注释或者是对于OpenGL或讨论主题有用的特性/提示。

红色方框是一些警告或者一些你需要特别注意的特性。

蓝色方框是翻译时为了帮助读者理解附加的一些信息。

扩展

●OpenGL的一大特性就是对扩展(Extension)的支持:(学习过程很少需要碰到)

if(GL_ARB_extension_name)

{

    // 使用硬件支持的全新的现代特性

}else

{

    // 不支持此扩展: 用旧的方式去做

}

 

❸OpenGL本身就是个状态机

OpenGL自身是一个巨大的状态机(State Machine):一系列的变量描述OpenGL此刻应当如何运行。OpenGL的状态通常被称为OpenGL上下文(Context)。我们通常使用如下途径去更改OpenGL状态:设置选项操作缓冲。最后,我们使用当前OpenGL上下文来渲染。(这里大概看到这里就够了)

●个人理解:状态机就是根据不同的上下文改变到不同的状态。比如我现在的状态是学习,如果有家长打电话给我,我的状态就是接电话;如果中午要吃饭,那么我的状态就变成了吃饭。就是这样根据条件改变状态的一种状态转移图的感觉。

 

❹对象(没记录)

这里一开始看比较懵逼,我们先开始正式学习!

 

❶环境配置

VS2017下载

●我找了一篇文章:OpenGL 开发环境配置:Visual Studio 2017 + GLFW + GLEW

https://www.cnblogs.com/AnKen/p/8057000.html

●啊如果你还没有VS,那么就去官网下个免费的。你要是打不开这个链接,那么百度搜索microsoft,点进入就好了。

https://www.microsoft.com/zh-cn/

点进去找到这个Visual Studio

下这个community就好了。

●文章里提到了:“2017版本在安装界面里注意要勾选c++相关选项,否则默认不安装c++组件。”那么我记得我安装的时候就是默认安装的,所以就找到“控制面板”,在里面找到Visual Studio,然后右键点击更改。

后来感觉这篇文章自己看不下去,不知道他要干什么,于是我又多找了几篇,这篇不错:

【PT君的OpenGL】第一天【VS2017+OpenGL环境的配置(固定管线+可编程管线)】

https://blog.csdn.net/qq_19003345/article/details/76098781/

环境搭建

...\VC\Tools\MSVC\14.15.26726\include\gl(你自己的VS路径,没有gl就自己新建一下)

里面存放glut.h

...\VC\Tools\MSVC\14.15.26726\lib\x86里面存放glut.libglut32.lib

C:\Windows\SysWOW64里面存放glut.dllglut32.dll(32位系统放在system32)

根据这篇博客(这篇博客真的好!)的测试代码测试一下,大概就会出现一个白色的矩形。(代码是他文章里的)

#include <GL/glut.h> 
void Show()
{ 
	glClear(GL_COLOR_BUFFER_BIT); 
	glRectf(-0.1f, -0.1f, 0.5f, 0.5f); 
	glFlush(); 
} 
int main(int argc, char *argv[])
{
	glutInit(&argc, argv); 
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); 
	glutInitWindowPosition(100, 100); 
	glutInitWindowSize(400, 400); 
	glutCreateWindow("OpenGL"); 
	glutDisplayFunc(Show); 
	glutMainLoop(); 
	return 0;
}

GLFW

下载GLFW(管理窗口:它就是在你画画的时候给你一块画布)

 下载地址:https://www.glfw.org/download.html

下载32-bit Windows binaries(我下的这个)

●然后我们去VS,右击OpenGL(我创立的这个程序叫做OpenGL,你哪怕创建“老子天下第一”也没事),打开属性(最后一个)。

●然后我们就要改东西了,当然你也可以学习我推荐那个博主的机智方法。

“包含目录”<—include

“库目录”<—vc2015

●再改一个地方:opengl32.lib;glfw3.lib;%(AdditionalDependencies)

GLAD

●下载GLAD:使用OpenGL函数

●下载地址:https://glad.dav1d.de/

●然后在右下角点击GENRATE,下载这个glad.zip

●解压后得到两个文件夹

①把include里的东西都复制到刚刚的lib-vc2015里面

②把src里面的glad.c加到我们的程序文件夹中。比如我的是OpenGL:

●然后右击“源文件”—>“添加”—>“现有项”

测试

●输入以下代码(也来自那个大佬的博客:向大佬致敬)

#include "glad\glad.h"
#include "glfw3.h"
#include <iostream>

int main()
{

	glfwInit();
	glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
	glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
	glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
	GLFWwindow* window = glfwCreateWindow(800, 600, "OpenGLShader", NULL, NULL);
	if (window == NULL)
	{
		std::cout << "创建窗口失败" << std::endl;
		glfwTerminate();
		return -1;
	}
	glfwMakeContextCurrent(window);

	if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
	{
		std::cout << "初始化GLAD失败" << std::endl;
		return -1;
	}
	while (!glfwWindowShouldClose(window))
	{
		glfwSwapBuffers(window);
	glfwPollEvents();
	}
	glfwTerminate();
	return 0;
}

最后出现什么都没有的黑框框:we win!

那今天就到这里吧,感谢您的阅读,希望对您的有所帮助!

 

参考博客:

【PT君的OpenGL】第一天【VS2017+OpenGL环境的配置(固定管线+可编程管线)】

https://blog.csdn.net/qq_19003345/article/details/76098781/

OpenGL 开发环境配置:Visual Studio 2017 + GLFW + GLEW

https://www.cnblogs.com/AnKen/p/8057000.html

猜你喜欢

转载自blog.csdn.net/weixin_40851250/article/details/84651549