目前我们已经知道了,如果想要顶点着色器解释理解我们的输入数据,就必须要按照以下繁琐的步骤:第一步:将输入的数据复制一份到缓冲区,供OpenGL使用.而这块新出现的区域由VBO管理和表示.(若有多个输入数据,则分区管理也就是说创建出VBO1 VBO2 ...等)特别提醒VBO 0 是解绑位置.第二步:当VBO创建完成后 我们就需要绑定当前VBO 即glBindBuffer(GL_ARRAY_BUFFER, VBO); 这一步绑定 是为了让后续向缓冲区复制数据的时候 不用表明目的地.第三步:绑定完成…
---恢复内容开始--- 写在前面的废话:岂可修!感觉最近好忙啊,本来今天还有同学约我出去玩的.(小声bb) 正文开始:之前已经编译好的着色器中还有一些问题,比如 layout(location=0) in vec3 position;这句代码中layout (location= 0)的含义.今天我将详细介绍他的作用. 但是在这之前我想完善一下之前所说的 顶点数据 这个概念,由于之前的例子会给大家一种,顶点数据仅仅只是给出了顶点所在坐标系中位置这一种错觉,其实它还应该包含许多其他信息,这些所谓的…
写在前面的废话:今天俺又来了哈哈,真的好棒棒! 今天的内容:之前我们大概描述了,我们自己定义的顶点坐标是如何被加载到GPU之中,并且介绍了顶点缓冲对象VBO用于管理这一块内存.今天开始详细分析它的具体作用和用法. 首先OpenGL要求我们必须拥有一个顶点着色器和一个片段着色器,这样才可以进行渲染.当然这两个是必须经过编辑才能使用,而编辑所用的语言是GLSL(OpenGL Shading Language),然后编译这个着色器,这样我们就可以使用了. 举个例子像这样, 这是一个稍微复杂的顶点着色器…
现在前面的废话:最近好事不断!十分开心!生活真美好! 好了今天要梳理一下,顶点输入的具体过程,同样也是渲染管线中的第一个阶段的详细过程的介绍.之前介绍过,OpenGL操作的是一组3D坐标,所以我们的输入也必须是包含了x,y,z这三个方向,并且将他们放入一个数组之中. 加入我们要画出一个三角形,先看如下表示 这里的每三个为一组坐标,并且注意,OpenGL不是简单地把所有的3D坐标变换为屏幕上的2D像素:OpenGL仅当3D坐标在3个轴(x.y和z)上都为-1.0到1.0的范围内时才处理它.这就是为…
写在前面的废话: 这个系列拖更了很久,很大一定程度上是由于自己最近忙着高数学习和线代学习..感觉时间特别紧缺(其实就是我太懒了)好了不废话了,总结开始. 正文开始: 首先Graphics Pipeline只接收一系列的3D坐标(x,y,z)但是每个使用者的屏幕又只能显示2D像素,比如我的显示器的分辨率(2880X1440)仅仅只存在x和y轴即长和宽.所以我们的opengl 通过接收过来的3D数据会通过Graphics Pipeline转换成有色2D屏幕上的数据.——————Graphics Pi…
2019.7.4 本着对游戏创作的热情,本人初步了解了一部分的unity引擎的使用,也学习了一点C#可是越学习unity我就反而对引擎内部感兴趣(不知道有没有一样的朋友=,=). 接着了解到了opengl 以及他的衍生物们(SDL , GLFW , GLEW等),感觉所有的有关渲染的API或者说是函数库(本人一直很讨厌把专业知识说的太官方..见谅)都是“扎根”于opengl. 接下来我想简要的谈谈我对opengl 的理解,也就是什么是opengl? 首先本人只是一位普普通通的大二在校学生,可能有…
写在前面的废话: 哈哈 ,我可真是勤勉呢,今天又来更新了,这篇文章需要大家接着昨天的番外篇00一起食用! 正文开始: 话不多说,先看代码. 这里主要全是使用的glfwwindowhint 这个函数,他有两个参数.首先第一个参数个人的理解是opengl这个巨大的状态机里面的一个设置的名字. 这个函数可以简单的理解成先找到状态机里面的一个参数,然后设置它,注意在这之前一定要先初始化glfw. 重要的代码:glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT,GL_TRU…
现在前面的废话:哇这次没有鸽太久,突然想起来还没有介绍如何适配opengl的衍生库.今天一并介绍下,同样看时间允不允许,让我再把之前学到的一些东西再次总结一遍. 正文开始: 首先大家要知道我们的OpenGL它仅仅只是一种规范,OpenGL规范严格规定了每个函数该如何执行,以及它们的输出值!!!它里面函数具体实现是交给了,opengl衍生库的开发者们.而这类开发者大多数是显卡制造商,他们通过针对每代显卡的性能和功能专门开发的一套专用的openGL版本.所以总的来说,我们所真正使用的接口们其实是 G…
PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计界面组件与QWidget类相关的组件属性弄清楚了,写了个大章节,准备参与CSDN的推荐使用,加章节名不太好,因此在此使用章节序号独开一节引用具体博文.具体博文地址: PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解 博客地址:htt…
Redis(入门笔记) 学习一个大的技术点,然后顺带着就把这个技术点的面试题给学习了. 学习完一个技术后,如果面试题还不能够解答的话,只能说明学的不精,需要查漏补缺. 下一个学习的方向:Redis-非关系型数据库. 为什么学习Redis?因为我没有学过,我的技能里边缺少这个技能,并且到处都是Redis相关的面试题,并且在日常工作中,数据库也是经常使用的.分析了一下,就来学习了.至于看什么资料学习,去哪里学习,什么状态下学习,我都会在这里记录下来,相信以后看到这里的时候能够更快更高效的回忆起这个技…