坐标变化的解决了,将附件gray.vsh 中的CC_MVPMatrix 改为 CC_PMatrix 即可
好像只有Sprite的有效果。其他的貌似不行呢
我为什么会报这个错误啊,cocos2d: cocos2d: ERROR: 0:18: Regular non-array variable ‘CC_Texture0’ may not be redeclared
这个报错已经解决了,//uniform sampler2D CC_Texture0; 注释掉这句就ok了:867:
我想问的是这样设置了以后如何恢复呢?
grey.fsh
varying vec4 v_fragmentColor;
varying vec2 v_texCoord;
void main()
{
vec4 v_orColor = v_fragmentColor * texture2D(CC_Texture0, v_texCoord);
float gray = dot(v_orColor.rgb, vec3(0.299, 0.587, 0.114));
gl_FragColor = vec4(gray, gray, gray, v_orColor.a);
}
3.2恢复
target->setGLProgram(GLProgramCache::getInstance()->getGLProgram(GLProgram::SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP));
请问 如果要移除这个shader怎么处理呢?把位置矩阵改为CC_PMatrix后 添加shader的位置是没问题了 但是我再执行一个ShaderPositionTextureColor_noMVP用于移除shader的时候 图片消失了 不知道是不是坐标位置不对 怀疑可能跟设置shader的时候修改了CC_PMatrix有关
求3.0恢复方法
可以再解释一下吗? 3.2里没找到 setGLProgram 这个方法啊 另外 GLProgramCache 也没找到,可以多解释一下吗?
我只想说,位置会偏移。拿你的代码到3.1版本。一点效果都没。吭:15:垃圾引擎,有钱了肯定要换掉!!!!!!!!
yiersansiwuliuqibajiushi
vs 2013 运行后直接就: std::out_of_range at memory location 0x0021E4D4. 怎么回事 shader求解??
附件怎么下载下来是.php的
谢谢分享@@@@@@@@
请问shader在目前相对主流的手机cpu/gpu上性能如何?用多了会不会造成客户端对硬件要求提高很多呢?
我使用cocos2d-x 3.2 直接崩溃了




用这个setGLProgramState()