Unity3d《Shader篇》绘制圆角图片
2015-06-19 16:24
483 查看
Pass { CGPROGRAM // Upgrade NOTE: excluded shader from OpenGL ES 2.0 because it does not contain a surface program or both vertex and fragment programs. #pragma exclude_renderers gles #pragma fragment frag #include "UnityCG.cginc" sampler2D _MainTex; float4 _MainColor; float _RoundRadius; struct texCoord { float2 inputTexCoord : TEXCOORD0; }; float4 frag(texCoord input) : COLOR { float x = input.inputTexCoord.x; float y = input.inputTexCoord.y; float4 col = tex2D(_MainTex,input.inputTexCoord)*_MainColor; float radius = _RoundRadius; if(x<radius && y<radius) { if(pow(x-radius,2)+pow(y-radius,2)>radius*radius) { discard; } } else if(x>1-radius && y>1-radius) { if(pow(x-(1-radius),2)+pow(y-(1-radius),2)>radius*radius) { discard; } } else if(x<radius && y>1-radius) { if(pow(x-radius,2)+pow(y-(1-radius),2)>radius*radius) { discard; } } else if(x>1-radius && y<radius) { if(pow(x-(1-radius),2)+pow(y-radius,2)>radius*radius) { discard; } } return col; } ENDCG }
效果图
相关文章推荐
- Unity arm64
- 基于Unity5.0系统的新打包方式 [第一讲]
- Unity 曲线切线模式 的隐藏枚举 KeyFrame.tangentMode
- Unity中的Path对应各平台中的Path
- UnityShader实例03:边缘光材质
- Unity3D实践系列04, 脚本的生命周期
- 【Unity】Shader编程 基础总结
- Unity remote 连接不上解决方案
- Unity3D实践系列03,使用Visual Studio编写脚本与调试
- 【Unity快速实现小功能】声音控制三部曲之(三)—— 声音、音效开关以及音量大小控制
- 【Unity快速实现小功能】声音控制三部曲之(二)—— 音效与背景音乐的叠加及控制
- 【猫猫的Unity Shader之旅】之Lambert光照
- 在编写unity各项功能的时候出现一些编码无误却不能执行的问题
- 【Unity3d】在Unity3d中调用外部程序及批处理文件,写自动化编译脚本需要注意的地方
- 【Unity3d】如何解决错误:A script behaviour has a different serialization layout when loading
- Unity3D之协程(Coroutines & Yield )
- Unity教程之手把手教你实现弹框
- Unity3D:NGUI Srollview子对象中有Button时,点击不能滚动
- 在桌面版 Ubuntu 中安装 Unity Tweak Tool
- Unity--ngui的UIEventTrigger使用