关于一些Opengl ES Shader编写的记录
来源:互联网 发布:女生的第一支口红 知乎 编辑:程序博客网 时间:2024/05/22 15:15
OpenGL的渲染管线主要包括:
2、顶点处理(这里主要由Vertex Shader来完成,从上图中可以看出,它还包括可选的Tessellation和Geometry shader阶段)
3、顶点后处理(主要包括Clipping,顶点坐标归一化和viewport变换)
4、Primitive组装(比如3点组装成一个3角形)
5、光栅化成一个个像素
6、使用Fragment shader来处理这些像素
7、采样处理(主要包括Scissor Test, Depth Test, Blending, Stencil Test等)
第一个Vertex Shader
<span style="font-size:18px;">attribute vec4 a_position;attribute vec4 a_color;varying vec4 v_fragmentColor;void main(){ gl_Position = CC_MVPMatrix * a_position; v_fragmentColor = a_color;}</span>
第一个Fragment Shader
<span style="font-size:18px;">varying vec4 v_fragmentColor;void main(){ gl_FragColor = v_fragmentColor;}</span>
fragment shader中也有一个main函数,同时我们看到这里也声明了一个与vertex shader相同的变量v_fragmentColor。前面我们讲过,这个变量是用来在vertex shader和fragment shader之间传递数据用的。所以,它们的参数类型必须完全相同。如果一个是vec3,一个是vec4,shader编译的时候是会报错的。而gl_FragColor我们知道它肯定是一个系统内置变量了,它的作用是定义最终画在屏幕上面的像素点的颜色。我们回过头去看上一篇文章中画出来的三角形,我们指定的是三个顶点的颜色,分别为Red,Green和Blue,但是最后的三角形的颜色是通过这三个点的颜色插值出来的。因为最终三角形的像素点可不只有三个,理解这一点非常重要。
接下去的还有一些步骤,这里就不多说了。。
0 0
- 关于一些Opengl ES Shader编写的记录
- 基于Cocos2d-x学习OpenGL ES 2.0系列——编写自己的shader(2)
- OpenGL ES 2.0 - Shader
- OpenGL ES 2.0 Shader
- OpenGL ES 2.0 Shader
- OpenGL ES 2.0 Shader
- OPenGL ES Shader
- OpenGL ES 的一些问题
- 关于OPENGL与OPENGL ES的区别
- 关于OPENGL与OPENGL ES的区别
- 关于可靠编写代码的一些记录
- OpenGL ES 2.0 Shader总结
- OpenGL ES Shader 多重纹理
- OpenGL ES Shader 纹理数组
- OpenGL ES Shader 实现代码
- 使用opengl es编写2d游戏的一些说明和技巧
- opengl es 教程翻译5---一个带纹理的shader
- GPU 加速下的图像处理 Opengl es shader
- WCF REST的两种方式
- uboot加载 big uImage问题
- Fiddler 教程
- oracle导库脚本
- C#中如何实现拖动PictureBox控件
- 关于一些Opengl ES Shader编写的记录
- Posix消息队列
- hasLayout
- 中国Azure媒体服务RESTAPI的Endpoint
- VS2010+OpenCV2.4.6永久性配置方法
- Oracle数据类型之number
- mybatis中的mapper接口文件以及example类的实例函数以及详解
- JAVA中int、String的类型转换
- Java 枚举类型使用思考