![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity shader入门精要笔记
文章平均质量分 78
涤纶2022
生活不只是苟且,还有诗跟远方
展开
-
shader入门精要:玻璃效果(笔记26)
Shader "Unity Shaders Book/Chapter 10/Glass Refraction" { Properties { _MainTex ("Main Tex", 2D) = "white" {} _BumpMap ("Normal Map", 2D) = "bump" {} _Cubemap ("Environment Cubemap", Cube) = "...原创 2019-07-04 14:04:40 · 318 阅读 · 0 评论 -
shader入门精要:菲涅尔反射(笔记24)
Shader "Unity Shaders Book/Chapter 10/Fresnel" { Properties { _Color ("Color Tint", Color) = (1, 1, 1, 1) _FresnelScale ("Fresnel Scale", Range(0, 1)) = 0.5 _Cubemap ("Reflection Cubemap", Cube...转载 2019-07-01 12:40:48 · 293 阅读 · 0 评论 -
shader入门精要:折射(笔记23)
Shader "Unity Shaders Book/Chapter 10/Refraction" { Properties { _Color ("Color Tint", Color) = (1, 1, 1, 1) _RefractColor ("Refraction Color", Color) = (1, 1, 1, 1) _RefractAmount ("Refraction...转载 2019-07-01 10:37:21 · 166 阅读 · 0 评论 -
shader入门精要:镜子反射(笔记25)
Shader "Unity Shaders Book/Chapter 10/Mirror" { Properties { _MainTex ("Main Tex", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" "Queue"="Geometry"} Pass { CGPROGRAM ...转载 2019-06-26 18:38:30 · 265 阅读 · 0 评论 -
shader入门精要:立方体纹理反射(笔记22)
Shader "Unity Shaders Book/Chapter 10/Reflection" { Properties { _Color ("Color Tint", Color) = (1, 1, 1, 1) _ReflectColor ("Reflection Color", Color) = (1, 1, 1, 1) _ReflectAmount ("Reflect ...转载 2019-06-20 09:51:35 · 129 阅读 · 0 评论 -
shader入门精要:统一管理光照和衰减(笔记21)
shader"Book/Chapter9/AttenuationAndShadowuseBuildInFunctions"{ properties{ _DiffuseColor("DiffuseColor",color)=(1,1,1,1) _SpecularColor("SpecularColor",color)=(1,1,1,1) _Gloss("Gloss",range(0...转载 2019-06-20 09:43:18 · 219 阅读 · 0 评论 -
shader入门精要:让物体投射&接收阴影(笔记20)
Shader "Unity Shaders Book/Chapter 9/Shadow" { Properties { _Diffuse ("Diffuse", Color) = (1, 1, 1, 1) _Specular ("Specular", Color) = (1, 1, 1, 1) _Gloss ("Gloss", Range(8.0, 256)) = 20 } ...转载 2019-06-18 20:53:47 · 745 阅读 · 0 评论 -
shader入门精要:在前向渲染中处理不同的光源类型(笔记19)
// Upgrade NOTE: replaced '_LightMatrix0' with 'unity_WorldToLight'// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'Unity...转载 2019-06-14 20:17:19 · 514 阅读 · 0 评论 -
shader入门精要:双面渲染的透明效果(笔记18)
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unity Shaders Book/Chapter 8/Alpha Blen...转载 2019-04-20 18:01:45 · 212 阅读 · 0 评论 -
shader入门精要:开启深度写入透明度混合(8.5)(AlphaBlend)(笔记17)
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unity Shaders Book/Chapter 8/Alpha Blen...转载 2019-04-20 18:00:15 · 548 阅读 · 0 评论 -
shader入门精要:透明度混合(AlphaBlend)(笔记16)
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unity Shaders Book/Chapter 8/Alpha Blen...转载 2019-04-18 14:12:31 · 450 阅读 · 0 评论 -
shader入门精要:使用半透明纹理实现透明度测试(AlphaTest)(笔记15)
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unity Shaders Book/Chapter 8/Alpha Test...转载 2019-04-18 13:13:16 · 558 阅读 · 0 评论 -
shader入门精要:遮罩纹理控制(高光)(笔记14)
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unity Shaders Book/Chapter 7/Mask Texture" { Properties { _Color ("Color Tint", Color) = (1, 1, 1, 1) _...转载 2019-04-18 13:01:20 · 445 阅读 · 0 评论 -
shader入门精要:渐变纹理控制漫反射(笔记13)
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unity Shaders Book/Chapter 7/Ramp Textu...转载 2019-04-13 15:44:45 · 210 阅读 · 0 评论 -
shader入门精要:单张纹理带法线贴图材质(世界空间)(笔记12)
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unity Shaders Book/Chapter 7/Normal Map...转载 2019-04-13 15:29:25 · 452 阅读 · 3 评论 -
shader入门精要:单张纹理带法线贴图材质(切线空间)(笔记11)
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unity Shaders Book/Chapter 7/Normal Map In Tangent Space" { Properties { _Color ("Color Tint", Color) = (...转载 2019-04-12 21:10:40 · 342 阅读 · 0 评论 -
shader入门精要:Blinn-Phone单张纹理材质(逐像素)(笔记10)
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "Unity Shaders Book/Chapter 7/Single Tex...转载 2019-04-12 21:06:50 · 426 阅读 · 0 评论 -
对于一些shader常用的一些函数以及相关内置变量的整理
表头01 表头02 我 超级 我 超级 我 超级...原创 2019-04-12 11:23:11 · 451 阅读 · 0 评论 -
UnityCG.cginc文件内容
#ifndef UNITY_CG_INCLUDED#define UNITY_CG_INCLUDED#define UNITY_PI 3.14159265359f#define UNITY_TWO_PI 6.28318530718f#define UNITY_FOUR_PI 12.56637061436f#define UNITY_INV...转载 2019-04-11 10:04:06 · 2682 阅读 · 0 评论 -
关于几种矩阵运算的写法的研究(o.worldPos)
问:o.worldPos=mul((float3x3)unity_ObjectToWorld,v.vertex).xyz;o.worldPos=mul((float4x4)unity_ObjectToWorld,v.vertex).xyz;//o.worldPos=UnityObjectToWorldDir(v.vertex);//o.worldPos=mul(v.vertex,(float...原创 2019-04-10 14:17:24 · 1572 阅读 · 3 评论 -
shader入门精要:Blinn-Phone光照模型用内置函数(逐像素)(笔记9)
Shader "Unity Shaders Book/Chapter 6/Blinn-Phong Use Built-in Functions" { Properties { _Diffuse ("Diffuse", Color) = (1, 1, 1, 1) _Specular ("Specular", Color) = (1, 1, 1, 1) _Gloss ("Gloss", ...转载 2019-04-05 21:46:02 · 401 阅读 · 0 评论 -
shader入门精要:Blinn-Phone光照模型(逐像素)(笔记8)
Shader "Unity Shaders Book/Chapter 6/Blinn-Phong" { Properties { _Diffuse ("Diffuse", Color) = (1, 1, 1, 1) _Specular ("Specular", Color) = (1, 1, 1, 1) _Gloss ("Gloss", Range(8.0, 256)) = 20 ...转载 2019-04-05 16:58:12 · 819 阅读 · 0 评论 -
shader入门精要:高光反射光照模型(逐像素)(笔记7)
shader"Book/Chapter 6/Specular Pix-Level"{ Properties { _Diffuse ("Diffuse",Color)=(1,1,1,1) _Specular ("Specular",Color)=(1,1,1,1) _Gloss ("Gloss",Range(8.0,256))=20 } subshader { pass...转载 2019-04-04 20:17:10 · 166 阅读 · 0 评论 -
06shader入门精要:高光反射光照模型(逐顶点)(笔记6)
shader"Book/Chapter 6/Specular Vertex-Level"{ Properties { _Diffuse ("Diffuse",Color)=(1,1,1,1) _Specular ("Specular",Color)=(1,1,1,1) _Gloss ("Gloss",Range(8.0,256))=20 } subshader { p...原创 2019-04-04 19:55:30 · 208 阅读 · 0 评论 -
shader入门精要:半兰伯特光照模型(笔记5)
shader"Book/Diffuse HalfLambert"{ properties { _Diffuse("Diffuse",color) = (1,1,1,1) //properties里面语句不需要分号结束 } subShader { pass { Tags{"LightMode" = "ForwardBase"}//拼写错误会导致光影有闪烁,问题...转载 2019-04-04 19:52:14 · 218 阅读 · 0 评论 -
shader入门精要:基本漫反射光照模型(逐像素)(笔记4)
shader"Book/Diffuse Pixel-Level"{ properties { _Diffuse("Diffuse",color) = (1,1,1,1) //properties里面语句不需要分号结束 } subShader { pass { Tags{"LightMode" = "ForwardBase"}//拼写错误会导致光影有闪烁,问题...转载 2019-04-04 19:33:09 · 176 阅读 · 0 评论 -
shader入门精要:基本漫反射光照模型(逐顶点)(笔记3)
shader"Book/Diffuse Vertex-Level"{ properties { _Diffuse("Diffuse",color) = (1,1,1,1) //properties里面语句不需要分号结束 } subShader { pass { Tags{"LightMode" = "ForwardBase"}//拼写错误会导致光影有闪烁,问...转载 2019-04-04 19:25:41 · 188 阅读 · 0 评论 -
实现半透明模型背面正面显示不同颜色(双面显示不同颜色)(实例二)
敬请等待。。。。原创 2019-04-02 12:06:15 · 1065 阅读 · 2 评论 -
关于几个常用函数性能研究
在shader函数库里面有一些功能函数是相近的,或者说有联系,比如if clip step, floor ceil等有机会翻阅资料查找这些函数的区别。问了个朋友,他简单说了两句是这样的:if跟clip一样 step有些时候会好一点也差不多floor和ceil没有分支,会好很多...原创 2019-03-30 13:29:18 · 507 阅读 · 0 评论 -
shader溶解实例(案例1)
写一个消融材质,代码如下shader"EloaMbile/Dissolve"{ properties { _Diffuse("Diffuse",Color)=(1,1,1,1) _DissolveColor("Dissolve Color",Color)=(0,0,0,0) _DissolveEdgeColor("Dissolve Edge Color",Color)=(1,1,1,...原创 2019-03-29 19:15:06 · 415 阅读 · 0 评论 -
03shader半透明材质(实例3)
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'Shader "MyMobile/UV/Sine_Add" { Properties { _MainTex ("Base layer (RGB)", 2D) = "white" {} _DetailTex ("2nd lay...原创 2019-03-27 19:34:56 · 837 阅读 · 0 评论 -
DX9与DX11shader编写中SV_POSITION与POSITION和SV_Target与COLOR之间的区别(一)(笔记3)
DirectX的一大特色之一便是Shader渲染,包括顶点Shader渲染以及像素Shader渲染。设置Shader机制是为了使程序员能够控制GPU绘制顶点或像素的方式,简单的说,我们设计的Shader代码是运行在GPU硬件中的,这样提高了渲染效率。上篇幅简要简绍了下DirectX管线渲染的基本步骤,本篇幅从绘制基本的正方体开始详细描述绘制过程。1,Vertex Shaderstruct ...转载 2019-03-27 17:19:35 · 712 阅读 · 0 评论 -
**shader入门精要(笔记1)**
一个美术的shader之路(笔记1)原创 2019-03-27 17:16:30 · 246 阅读 · 0 评论 -
shader入门精要(笔记2)
//Shader 文件在选择面板以树状结构组织的Shader "Hidden/NewImageEffectShader"{ //这个申明程序中所需要的变量信息 Properties在这里插入代码片 { //_MainTex 变量名 ; “Texture” 在Inspector面板上显示的名称 ; 2D 指变量类型 // "white" ...原创 2019-03-27 16:39:10 · 223 阅读 · 0 评论 -
关于TRANSFORM_TEX跟float4 _MainTex_ST的一些疑问
问:(1) TRANSFORM_TEX是做什么的(2)float4 _MainTex_ST 中的_MainTex_ST变量也没有用到,为啥非要声明一下?答:(1)简单来说,TRANSFORM_TEX主要作用是拿顶点的uv去和材质球的tiling和offset作运算, 确保材质球里的缩放和偏移设置是正确的。 (v.texcoord就是顶点的uv)下面这两个函数是等价的。o.uv = ...转载 2019-03-20 16:15:25 · 796 阅读 · 0 评论