ios cocos2d 变色的着色器

本文介绍了一个OpenGL ES片段着色器示例,该着色器将纹理颜色转换为灰度,并提供了如何修改颜色的基本指导。适用于希望了解OpenGL ES着色器编程的初学者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里贴一个着色器到这里,以备后面查看


GLchar * pszFragSource =

    "#ifdef GL_ES \n \

    precision mediump float; \n \

    #endif \n \

    uniform sampler2D u_texture; \n \

    varying vec2 v_texCoord; \n \

    varying vec4 v_fragmentColor; \n \

    void main(void) \n \

    { \n \

    // Convert to greyscale using NTSC weightings \n \

    vec4 color = texture2D( u_texture, v_texCoord ); \n \

    float grey = dot(texture2D(u_texture, v_texCoord).rgb, vec3(0.299, 0.587, 0.114)); \n \

    gl_FragColor = color; \n \

    }";


修改颜色只需要修改上面红色部分(值为想要颜色的rgb 值换算为0-1的值,eg:234.0/255)


[ [ CCGLProgram alloc ] initWithVertexShaderByteArray:ccPositionTextureColor_vert fragmentShaderByteArray:pszFragSource];




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值