openGL,webGL如何在纹理中间画一个光圈?
如何画在纹理中间画一个光圈,原本代码写成这样:
vec2 position = (uv * 2.-1.0) * vec2(1.0, 1.0);
float d = abs( length(position) - 0.8) * 5.0;
gl_FragColor += vec4(0.2/d, 0.2 / d, 0.2 / d, 1);
然后有个问题,这样会将纹理的非光圈部分的颜色也改变了,然后改成
if( length(position)<0.8 && length(position)>0.7 ){
gl_FragColor += vec4(0.2/d, 0.2 / d, 0.2 / d, 1);
}else{
gl_FragColor =src_color;
}
这样写虽然不影响其非光圈部分的颜色,但也没有光圈的感觉了。
如何在纹理中间画个光圈而不影响光圈以外位置的颜色?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论