牛骨文教育服务平台(让学习变的简单)
博文笔记

OPENGL灰色shader 和恢复原来像素

创建时间:2016-07-12 投稿人: 浏览次数:974

Vsh

初始化 向量 ,外部传过来。顶点属性
attribute vec4 a_position;--坐标
attribute vec2 a_texCoord;--纹理信息
attribute vec4 a_color;--rgba


varying vec4 v_fragmentColor; --用作与fsh传内容
varying vec2 v_texCoord; --用作与fsh传内容

void main()    
{                            
    gl_Position = CC_PMatrix * a_position;
    v_fragmentColor = a_color;
    v_texCoord = a_texCoord;
}

fsh
—-varying vec4 v_fragmentColor;
varying vec2 v_texCoord;
uniform sampler2D CC_Texture;

void main()
{
vec4 v_orColor = v_fragmentColor * texture2D(CC_Texture, v_texCoord);
– 转 颜色 RGB >>YUV,
float gray = dot(v_orColor.rgb, vec3(0.299, 0.587, 0.114));
gl_FragColor = vec4(gray, gray, gray, v_orColor.a);
}
恢复 fsh文件

#ifdef GL_ES
precision mediump float;
#endif

varying vec4 v_fragmentColor;
varying vec2 v_texCoord;

void main(void)
{
    gl_FragColor = texture2D(CC_Texture0, v_texCoord);
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。