Cocos Shader总结

在弄cocos记录的笔记,虽然和unity有点区别,但核心思想还是一样

fsh

fsh是片段shader。在这里对于每一个像素点进行重新计算。

varying highp vec2 textureCoordinate就是从vsh中传过来了纹理坐标

uniform sample2D videoFrame是我们真正的纹理贴图

texture2D(videoFrame,textureCoordinate)
将纹理中的每个像素取出

然后就可以重新加工

gl_fragcolor是内置的系统变量,定义最终画在屏幕上的像素点的颜色

vsh

vsh是vertex shader ,用于顶点计算,可以理解控制定点的位置,在这个文件中我们通常会传入顶点的位置,和纹理的坐标。

每个shader都有一个main函数。
这里面有两种类型的变量,
一种是attribute,另一种是varying

attribute是从外部传进来的,每一个顶点都会有这两个属性,所以他也叫作vertex attribute顶点属性。

varying类型的变量是在vertex shader和fragment shader之间传递数据。

gl_开头的变量名是系统内置的变量。

precision mediump float定义中等精读的浮点数

uniform外部传入vsh文件的变量 变化率较低 对于可能在整个渲染没有改变 只是个常亮

在main中当overturn大于0的时候,函数里就是将纹理y反转

vertex shader是作用于每一个顶点的。如果有3个定点,那么vertex shader会被执行三次

你可能感兴趣的:(cocos)