游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1751|回复: 0

Shader??????????????

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2020-3-12 17:17:18 | 显示全部楼层 |阅读模式
2.jpg

???Shader?????????????????

????????

????????????????1???????????????

  1. float4 frag(v2f i) : SV_Target
  2. {
  3.         float4 color = float4(i.uv.r, i.uv.g, 1, 1);
  4.         return color;
  5. }
复制代码

1.jpg
????????

??

???????????????????????????????????????????????????...??????????????

??

?????????unity????????????????????????????

3.jpg
?????????

?????????????PS?????????????PNG?????????????????????????????????????????????

??SubShader????????Properties???????????MainTexture??????

  1. Properties{
  2.         _MainTex("Main Texture", 2D) = "white" {}
  3. }
复制代码


????????????????CGPROGRAM?????????????????????CGPROGRAM?????????

sampler2D _MainTex;

????sampler2D???GLSL????????????2D??

https://www.khronos.org/opengl/wiki/Sampler_(GLSL)

?????frag?????tex2D????????????????????????????????????????????????????????????????????????uv???????

  1. float4 frag(v2f i) : SV_Target
  2. {
  3.         return tex2D(_MainTex, i.uv);
  4. }
复制代码

??????????????????????????


4.jpg
???????????????????

??????????????????????PNG?????????????????????????tex2D????????????????uv???????????????????????????????tex2D??????????????????????

????????????????Transparent Blend?????????????shader??????????????????????????????

https://docs.unity3d.com/Manual/SL-Blend.html

???????????Alpha Blend??????CGPROGRAM????????

Blend SrcAlpha OneMinusSrcAlpha

??????????????????????????1 - ???????????????????

OutColor = SrcColor * ScrAlpha + DstColor * (1 - SrcAlpha)

????????????????????????????????????????????????????????????????????????

???????SubShader?tag?????shader????????????????????????????????

  1. Tags
  2. {
  3.         "Queue" = "Transparent"
  4. }
复制代码

??????????????????????????????????????????????????????

ezgif-6-b2d556542bcf (1).gif
???????????????????????

???shader???

  1. Shader "Custom/ShaderLearning"
  2. {
  3.         Properties{
  4.                 _MainTex("Main Texture", 2D) = "white"
  5.         }
  6.         SubShader
  7.         {
  8.                 Tags
  9.                 {
  10.                         "Queue" = "Transparent"
  11.                 }
  12.                 Pass
  13.                 {
  14.                         Blend SrcAlpha OneMinusSrcAlpha
  15.                         CGPROGRAM
  16.                         #pragma vertex vert
  17.                         #pragma fragment frag
  18.                         sampler2D _MainTex;
  19.                         #include "UnityCG.cginc"

  20.                         struct appdata
  21.                         {
  22.                                 float4 vertex : POSITION;
  23.                                 float2 uv: TEXCOORD0;
  24.                         };

  25.                         struct v2f
  26.                         {
  27.                                 float4 vertex : SV_POSITION;
  28.                                 float2 uv: TEXCOORD1;
  29.                         };

  30.                         v2f vert(appdata v)
  31.                         {
  32.                                 v2f o;
  33.                                 o.vertex = UnityObjectToClipPos(v.vertex);
  34.                                 o.uv = v.uv;
  35.                                 return o;
  36.                         }

  37.                         float4 frag(v2f i) : SV_Target
  38.                         {
  39.                                 return tex2D(_MainTex, i.uv);
  40.                         }
  41.                         ENDCG
  42.                 }
  43.         }
  44. }
复制代码

?????
?????https://zhuanlan.zhihu.com/p/86096949

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-9-17 14:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表