我想修改NGUI里的shader,使叠在一起的两张Sprite产生特殊的叠加效果,如Photoshop中的叠加、滤色、强光、柔光、线性光等。
如果顶点颜色和纹理的叠加或者shader内部纹理与纹理的叠加,都很好做,NGUI的Sprite的颜色调整就是用定点颜色和纹理颜色正片叠底的效果,但是如果是两张面片之间,能实现颜色叠加效果吗?
之前试了下Blend,发现只有相乘和加减的计算,而且alpha通道还怪怪的,还有,不知道为什么,我试了下这句:Blend SrcFactor DstFactor, SrcFactorA DstFactorA,发现逗号后面的Factor压根不起作用,怎么改都没变化。
对了,不知道Shader中有没有内置的HLS模式的颜色信息,有些叠加算法得利用HLS模式去计算,如果靠自己在shader中写的话,shader 2.0貌似不支持太复杂的运算。
1.有没有使叠在一起的两张Sprite产生特殊的叠加效果的方法?
2.Blend SrcFactor DstFactor, SrcFactorA DstFactorA这句到底怎么用,是我用错了还是什么其他原因?
3.Shader中能不能获取到HLS模式的颜色信息,能不能有内置函数来转换RGB和HLS色彩模式?
如果顶点颜色和纹理的叠加或者shader内部纹理与纹理的叠加,都很好做,NGUI的Sprite的颜色调整就是用定点颜色和纹理颜色正片叠底的效果,但是如果是两张面片之间,能实现颜色叠加效果吗?
之前试了下Blend,发现只有相乘和加减的计算,而且alpha通道还怪怪的,还有,不知道为什么,我试了下这句:Blend SrcFactor DstFactor, SrcFactorA DstFactorA,发现逗号后面的Factor压根不起作用,怎么改都没变化。
对了,不知道Shader中有没有内置的HLS模式的颜色信息,有些叠加算法得利用HLS模式去计算,如果靠自己在shader中写的话,shader 2.0貌似不支持太复杂的运算。
1.有没有使叠在一起的两张Sprite产生特殊的叠加效果的方法?
2.Blend SrcFactor DstFactor, SrcFactorA DstFactorA这句到底怎么用,是我用错了还是什么其他原因?
3.Shader中能不能获取到HLS模式的颜色信息,能不能有内置函数来转换RGB和HLS色彩模式?