[LayaAir3]2D着色器
文档里对2D着色器的讲解非常少,sprite2DTexture 和sprite2Dprimitive 的区别是什么?能否都用在sprite上?
sprite2DTexture可以对带有texture的sprite进行处理,但是似乎不可以处理sprite上的graphics,例如我想做一个,用graphics绘制一个红色的圆,在着色器下,写上if(color.r>0.98)color.a=0.0; 可能出现的问题是,第一在添加graphics后,直接给出警告,图片消失,第二种情况,例如A是黑色矩形,B是红色圆,圆完全在A的区域内,设置着色器,让红色变成透明(想要实现镂空效果)但是只是把B变成了透明,而A没有变化,也就是多个graphics命令,似乎是多个层,没有合成一张像素图!
所以,我感觉对2D着色器很迷惑!
我制作了跨平台的latex渲染器,文字都是用svg绘制的,但是对于a这种文字,由于有两个path,a这个字形肚子里的那个内部圆,无法镂空,使得我不得不只能制作空心的文字,不能制作填充文字!
当然,如果提供,drawpoly不同的点顺序可以有填充或者镂空,那是相当的棒的,透明的区域真的很难实现,即使是mask也只能是控制那个部位是显示的,而不是哪个部位是透明的!
sprite2DTexture可以对带有texture的sprite进行处理,但是似乎不可以处理sprite上的graphics,例如我想做一个,用graphics绘制一个红色的圆,在着色器下,写上if(color.r>0.98)color.a=0.0; 可能出现的问题是,第一在添加graphics后,直接给出警告,图片消失,第二种情况,例如A是黑色矩形,B是红色圆,圆完全在A的区域内,设置着色器,让红色变成透明(想要实现镂空效果)但是只是把B变成了透明,而A没有变化,也就是多个graphics命令,似乎是多个层,没有合成一张像素图!
所以,我感觉对2D着色器很迷惑!
我制作了跨平台的latex渲染器,文字都是用svg绘制的,但是对于a这种文字,由于有两个path,a这个字形肚子里的那个内部圆,无法镂空,使得我不得不只能制作空心的文字,不能制作填充文字!
当然,如果提供,drawpoly不同的点顺序可以有填充或者镂空,那是相当的棒的,透明的区域真的很难实现,即使是mask也只能是控制那个部位是显示的,而不是哪个部位是透明的!
没有找到相关结果
已邀请:
要回复问题请先登录
0 个回复