摘要:
首先需要配置好VSCode的C++开发环境,这个网上有参考教程,这里不展开讲了。MinGW的版本信息是:MinGW-W64-builds-4.3.5,CMake的版本是3.15.3。 最近有时间,想再把OpenGL的教程捡起来再看看。之前用VisualStudio已经配置好了OpenGL的开发环境, 阅读全文
摘要:
要实现网络唤醒前提条件是硬件要支持,家里的这台闲置的笔记本进bios看了一下是支持的,所以就开始折腾。主要的需求是可以下载一点电影、百度网盘可以下载一点视频,没有备份的需求,所以直接单硬盘。 准备工作: 家里的笔记本是一台东芝的型号为C600-C12N,在试图安装6.x.x版本的群晖的时候,进入引导 阅读全文
摘要:
在理解opengl中的光照之前,先理解一下颜色。在我们现实生活中,我们看到的物体颜色,是物体反射的颜色,即没有被物体吸收掉的部分。opengl利用这个,在系统中模拟的颜色,就是定义一个表示对象的颜色向量A,再顶一个一个表示光源的颜色向量B,然后在片段着色器中将两个向量相乘得到表示物体的颜色。因此大致 阅读全文
摘要:
在上一篇写opengl坐标系统的文章中,有提到视图空间(View Space),也可以称之为摄像机空间,即从摄像机角度去观察对象。MVP转换矩阵中,上篇文章给了一个简单的视图矩阵(View Matrix)将世界空间坐标转换到视图空间坐标,即相对于摄像机的坐标。 opengl中实际上并没有直接提供摄像 阅读全文
摘要:
在前面的文章中我们有了解到,opengl的顶点坐标要求是介于-1.0到1.0之间的NDC(标准化设备坐标)。但是我们日常使用到的坐标可能有多种不同的坐标系统,比如针对对象本身有一套坐标系统,描述对象内部各个组件的坐标关系。对象与对象之间有一套坐标系统,描述对象间的坐标关系等等。opengl针对不同的 阅读全文
摘要:
转换(Transformations),主要是指位移(Translate),缩放(Scaling),旋转(Rotation)三种,opengl实现这三种转换,主要是通过矩阵的运算来实现的。在这里就会涉及到一定的矩阵、向量的运算了。 opengl没有提供现成的矩阵、向量运算的库,这个需要我们自己引入第 阅读全文
摘要:
之前绘制的图形,只加上简单的颜色,现在尝试绘制出图片。在opengl中可以理解为一个存储了多种多样颜色信息的对象,称之为纹理。 在使用着色器处理图形的颜色信息的时候,我们需要使着色器程序知道哪个顶点用哪种颜色。同理,在使用纹理的时候,我们也需要使着色器程序知道哪个顶点用哪部分的纹理信息。在这里就引入 阅读全文
摘要:
前面的文章中有提到,要绘制出简单的图形,我们需要提供顶点着色器和片段着色器。在前面绘制三角形和矩形的过程中,顶点着色器处理了我们输入的顶点坐标数据,然后片段着色器是固定输出了颜色。 现在,我们通过一定的方法,让片段着色器可以输出不同的颜色,这个方法就是借助:uniform关键词。 在片段着色器中,我 阅读全文
摘要:
在开始绘图之前,简单的了解一下opengl的绘图流程。在opengl里面,所有的事物都是处于3D空间中,而我们的屏幕及像素是以2D表现的,所以就需要将3D转换为2D。opengl内部管理这个流程的叫做渲染管线,主要分为两个部分:3D坐标转换为2D坐标,2D坐标转换为带颜色的像素数据。细分来看主要分为 阅读全文
摘要:
最近在这个网站学习opengl的相关知识,通过写博客的方式以加深理解。 首先需要搭建好环境 网站推荐的环境是visual studio2015 + glfw3.3 + glad,glfw可以从这个地方下载,下载后的代码,使用cmake(版本3.15.3)生成vs工程文件,编译静态库文件。然后创建空的 阅读全文