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里面。(我发现我看的教程好像有错,总会我最后遇到很多打不开文件的情况,于是我发现好像应该要复制到这个路径下,也就是从一个include到另一个include,保险起见,两个都复制过去吧!)

②把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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习是一种人工智能(AI)的子领域,致力于研究如何利用数据和算法让计算机系统具备学习能力,从而能够自动地完成特定任务或者改进自身性能。机器学习的核心思想是让计算机系统通过学习数据中的模式和规律来实现目标,而不需要显式地编程。 机器学习应用非常广泛,包括但不限于以下领域: 图像识别和计算机视觉: 机器学习在图像识别、目标检测、人脸识别、图像分割等方面有着广泛的应用。例如,通过深度学习技术,可以训练神经网络来识别图像中的对象、人脸或者场景,用于智能监控、自动驾驶、医学影像分析等领域。 自然语言处理: 机器学习在自然语言处理领域有着重要的应用,包括文本分类、情感分析、机器翻译、语音识别等。例如,通过深度学习模型,可以训练神经网络来理解和生成自然语言,用于智能客服、智能助手、机器翻译等场景。 推荐系统: 推荐系统利用机器学习算法分析用户的行为和偏好,为用户推荐个性化的产品或服务。例如,电商网站可以利用机器学习算法分析用户的购买历史和浏览行为,向用户推荐感兴趣的商品。 预测和预测分析: 机器学习可以用于预测未来事件的发生概率或者趋势。例如,金融领域可以利用机器学习算法进行股票价格预测、信用评分、欺诈检测等。 医疗诊断和生物信息学: 机器学习在医疗诊断、药物研发、基因组学等领域有着重要的应用。例如,可以利用机器学习算法分析医学影像数据进行疾病诊断,或者利用机器学习算法分析基因数据进行疾病风险预测。 智能交通和物联网: 机器学习可以应用于智能交通系统、智能城市管理和物联网等领域。例如,可以利用机器学习算法分析交通数据优化交通流量,或者利用机器学习算法分析传感器数据监测设备状态。 以上仅是机器学习应用的一部分,随着机器学习技术的不断发展和应用场景的不断拓展,机器学习在各个领域都有着重要的应用价值,并且正在改变我们的生活和工作方式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值