Opengl-基本概念-可编程的渲染管线(僵硬啊)

到底要弄什么?什么地方编程?

关于窗口如何生成,前面一章讲了环境的搭建,我是如何简单的搭了基本的环境的下面就讲下我的入门Chapter-1
基本概念讲一下:
这里写图片描述
太多的关于Opengl的概念就不多说了,说多了容易让人蒙圈,我这一切从简,就看着这个图图里的三个蓝色区域看到了吧?这三个流程就是我们学习Opengl的目的,要是没这三咱们还是歇一歇少掉几根头发吧。

顶点着色器

顾名思义 它把一个单独的顶点作为输入。顶点着色器主要的目的是把3D坐标转为另一种3D坐标,同时顶点着色器允许我们对顶点属性进行一些基本处理。这个不理解没关系好吧,简单点想就是我们如何来定义和解释一个点

片段着色器(有时候也叫像素着色器可能)

主要目的是计算一个像素的最终颜色,这也是所有OpenGL高级效果产生的地方。通常,片段着色器包含3D场景的数据(比如光照、阴影、光的颜色等等),这些数据可以被用来计算最终像素的颜色。实话说。这概念都是我复制过来的因为我也不知道怎么解释更高级,简单点理解呢就是你看屏幕上那些个像素每一个是啥样色都是靠这个东西来决定的

几何着色器

这东西一般你用不到,除非上升到了高级Opengl或者高级光照的地方也就是你工作里可能看到了很多shader都是xx.vs xx.fs 没看到过xx.gs吧?哈哈哈说实话我原来也没见过 惊呆了。
几何着色器把图元形式的一系列顶点的集合作为输入,它可以通过产生新顶点构造出新的(或是其它的)图元来生成其他形状。 也就是说我们可以通过上一个管道流程传过来的顶点(想象一下有个管道流出来好多的球)然后把这些个点可以在这个流程里组装成各种形状你想下,你用两个点可以弄个线,三个点一个三角形等等等,都可以。如果你不提供这个东西呢?opengl会自动处理ex:三角形


上面讲了基本的概念,也就是我们想学opengl想对opengl可编程的管线进行操作,那么也就是对上面这三个进行操作。可能会想这些东西有啥用,其实我就想说我也不知道,写opengl这个人为啥这么弄,我又不是他。不过你简单的理解下还是一切从简,你就想象一个工厂,好几个部门流水线。哗哗的生产,上一个管线生产了一个螺丝,就是个铁块,到了一个新的地方也就是这里我们的可编程部分,我们给它加工一下弄上花纹之类的。道理就是这么个道理。从现在开始我就要和大家讲的是,Opengl就是个很大的状态机很大的工厂。到底是啥?其实都是。一个大的工厂,在opengl里存在各个流程管线,严格的一步一步执行到下面一个流程。而为什么说它是个状态机呢?如果你不懂没关系后面慢慢渗透。


溜了溜了

猜你喜欢

转载自blog.csdn.net/alex1992azh/article/details/81707878