因此我正在OpenGL中对2D对象进行纹理化,并且尽管纹理加载良好,但我不确定如何反转颜色。如何访问位图的颜色信息并将其反转?是在着色器中还是在Main程序中做到最好?
我之所以这么开放,是因为我不是在寻找“修复我的代码”类型的答案,而是“这是您访问位图的颜色信息的方式”。
谢谢!
它很简单
gl_FragColor = vec4(1.0 - textureColor.r,1.0 -textureColor.g,1.0 -textureColor.b,1)
最好在着色器中执行这种操作,如果您想执行一次,然后将其重新用于以后的绘制,则只需使用render进行纹理处理即可。这是进行颜色反转的最快方法。
编辑:在使用vec4 textureColor = texture2D(uSampler,vTexCoords)
gl.FragColor之前,请使用.r,.g,.b和.a分别访问红色,绿色,蓝色和alpha值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句