go框架
K | W | H | L |
---|---|---|---|
What do I know? | What do I want to know? | How I will learn? | What I have learned? |
我知道些什么? | 我想要知道些什么? | 我该如何去学习? | 我学到了什么? |
Know | Want | How | Learned |
目录结构? | |||
启动服务器流程? | |||
有哪些配置?负责做什么? | |||
redis数据库怎么使用? | |||
redis lua脚本怎么使用? | |||
sync.RWMutex 互斥锁怎么使用? | https://studygolang.com/pkgdoc | ||
defer 作用? | https://xiaozhou.net/something-about-defer-2014-05-25.html https://blog.csdn.net/huang_yong_peng/article/details/82950743 |
||
parser 协议解析 | |||
reflect 反射 | |||
目录
[TOC]
资料
#pragma multi_compile
https://www.jianshu.com/p/f2eae5d6641c
UnpackScaleNormal
https://blog.csdn.net/qq_26365139/article/details/101291955
Unity3D Shader 之 Clip 函数
https://www.jianshu.com/p/8c753468d495
Unity Shader 内置函数
https://blog.csdn.net/a6627651/article/details/50680360
http://www.cppblog.com/lai3d/archive/2008/10/23/64889.html
saturate 把输入值限制到[0, 1]之间。
clip 如果输入向量中的任何元素小于0,则丢弃当前像素。
any 测试输入值中的任何非零值。
UNITY_FOG_COORDS(1)//雾数据
ShaderLab中内置的Matrix
https://blog.csdn.net/cubesky/article/details/38664143
https://blog.csdn.net/a133900029/article/details/80558765
float3 _Camera_Right = UNITY_MATRIX_V[0].xyz; float3 _Camera_Front = UNITY_MATRIX_V[2].xyz;
观察矩阵推导
https://zhuanlan.zhihu.com/p/104765641
https://cloud.tencent.com/developer/article/1472448
ShadeSH9 UnityShader——球谐光照
https://blog.csdn.net/NotMz/article/details/78339913
https://blog.csdn.net/weixin_42653501/article/details/104405016
UNITY泛光(BLOOM)的实现方式
http://www.wantgame.net/blog/?p=480&utm_source=tuicool&utm_medium=referral
Unity2018实现 泛光 荧光灯 效果
https://blog.csdn.net/A13155283231/article/details/99678183
https://github.com/ihaiucom/Unity_Plexus-Effect
UnityShader实例15:屏幕特效之Bloom
https://blog.csdn.net/u011047171/article/details/48522073
[[口袋妖怪]系列最终的全3D化 再现图像风格的制作技法]: https://www.cnblogs.com/TracePlus/p/4299428.html
UnityShader屏幕后处理效果之碎屏效果
https://blog.csdn.net/qq_36383623/article/details/86304894
Unity5中新的Shader
https://blog.csdn.net/zhaoguanghui2012/article/details/51462320
UnityChanToonShaderVer2_Project
https://gitee.com/ihaiu/UnityChanToonShaderVer2_Project
https://www.bilibili.com/read/cv3347898
视频:
UTS2的基本设置方式【Unity卡通渲染着色器教程其一】
https://www.bilibili.com/video/BV1WV411d7dv?from=search&seid=13189659463342600505
使用UTS2渲染Q版Unity娘 【Unity卡通渲染着色器教程其二】
https://www.bilibili.com/video/BV1g54y1R7Ao?from=search&seid=13189659463342600505
使用UTS2渲染Unity娘 【Unity卡通渲染着色器教程其三】
https://www.bilibili.com/video/BV1hC4y1W7RX?from=search&seid=13189659463342600505
文章:
MMD联动Unity学习笔记 Vol.41 在UTS2中使用不同的着色器
https://www.bilibili.com/read/cv3278897
MMD联动Unity学习笔记 Vol.42 UTS2进阶(慎入长篇多图预警)
https://www.bilibili.com/read/cv3347514
MMD联动Unity学习笔记 Vol.43 UTS2补充说明
https://www.bilibili.com/read/cv3347898
最简单的屏幕后期处理
Shader "Custom/RenderImage/ScreenBroken" {
Properties{
_MainTex("Main Tex", 2D) = "white" {}
_BrokenNormalMap("BrokenNormal Map",2D) = "bump"{}
_BrokenScale("BrokenScale",Range(0,1)) = 1.0
}
SubShader{
Pass{
Tags { "LightMode" = "ForwardBase" }
CGPROGRAM
#include "UnityCG.cginc"
#include "Lighting.cginc"
#pragma vertex vert
#pragma fragment frag
//这一部分参数的定义要根据Properties
fixed4 _Color;
sampler2D _MainTex;
float4 _MainTex_ST;
sampler2D _BrokenNormalMap;
float4 _BrokenNormalMap_ST;
float _BrokenScale;
struct a2v {
float4 vertex : POSITION;
float4 texcoord : TEXCOORD0;
};
//输出部分要和输入部分对应起来,而输出部分又要由片元着色器里的计算模型来确定
struct v2f {
float4 pos : SV_POSITION;
float4 uv : TEXCOORD0;
};
v2f vert(a2v v) {
v2f o;
o.pos = UnityObjectToClipPos(v.vertex);
o.uv.xy = TRANSFORM_TEX(v.texcoord,_MainTex);
o.uv.zw = TRANSFORM_TEX(v.texcoord, _BrokenNormalMap);
return o;
}
fixed4 frag(v2f i) : SV_Target{
fixed4 packedNormal = tex2D(_BrokenNormalMap,i.uv.zw);
fixed3 tangentNormal;
tangentNormal = UnpackNormal(packedNormal);
tangentNormal.xy *= _BrokenScale;
float2 offset = tangentNormal.xy;
fixed3 lightColor = fixed3(1,1,1);
fixed3 col = tex2D(_MainTex,i.uv.xy + offset).rgb ;
fixed luminance = (col.r + col.g + col.b) / 3;
fixed3 finalCol = lerp(fixed3(luminance,luminance,luminance),col,0.25);
return fixed4(finalCol,1.0f);
}
ENDCG
}
}
FallBack "Diffuse"
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[ExecuteInEditMode]
public class ScreenBroken : MonoBehaviour
{
public Material mat;
private void OnRenderImage(RenderTexture source, RenderTexture destination)
{
RenderTexture src0 = RenderTexture.GetTemporary(source.width, source.height);
mat.SetTexture("_MainTex", source);
Graphics.Blit(source, src0, mat, 0);
Graphics.Blit(src0, destination);
RenderTexture.ReleaseTemporary(src0);
}
}