极端常用:UnityObjectToClipPos(v.vertex);最基本的顶点变换,模型空间 ==》裁剪空间 mul(unity_ObjectToWorld, v.vertex);顶点:模型空间 ==》世界空间,多用于顶点着色器 UnityObjectToWorldNormal(v.normal);法线:模型空间 ==》世界空间,多用于顶点着色器,float3(归一化后f            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-24 22:35:35
                            
                                75阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            着色器声明(“名字”)
Shader "ShaderDiffuseExample" 
{	
	一、属性定义(作用:外部传入参数)
	属性定义语法:PropName("DisplayName",PropType) = DefaultValue[{options}]
	Properties
	{	
		PropName:属性名,就是当前Shader的外部传入数据变量名。
		DisplayName:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-28 19:14:43
                            
                                185阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录Shader参考大全预览GPU部件、性能参数Pipline 渲染管线应用程序阶段、几何阶段、光栅化阶段Properties 属性相关PropertiesAttributeSemantics 语义应用程序到顶点着色器的数据 appdata顶点着色器到片断着色器的数据 v2f片断着色器输出的数据  fragOutputTags SubShader中            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-05 23:02:19
                            
                                223阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录1. 概述2. 详论2.1. 创建材质2.2. 着色器2.2.1. 名称2.2.2. 属性2.2.3. SubShader2.2.3.1. 标签(Tags)2.2.3.2. 渲染状态(RenderSetup)2.2.3.3. 通道(Pass)2.2.4. 回退(FallBack)2.3. 渲染管线 1. 概述在上一篇文章《Unity3D学习笔记2——绘制一个带纹理的面》中介绍了如何绘制一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-16 20:55:58
                            
                                108阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            刚开始也不知道什么是pbr (Physically Based Rendering)后来才发现这是一种新的渲染方式 
与之对应的是材质是pbs(Physically Based Shader)unity中的pbs有两种,一种是金属度的,一种是反射的,具体前者可以做金属泥土之类,后者用于其他非金属的,但是这不绝对,前者也能做布料木头之类最终使用还是要看艺术效            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-25 23:58:36
                            
                                174阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、参考与说明(需要写在开始东西):1.1 Unity Shader 入门紧要学习    candycat1992/Unity_Shaders_Bookgithub.com 
      1.2 还有一些图形学的历史可以观看    渲染管线与Shader编程入门_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com       1.3 写在开头,曾经好几            
                
         
            
            
            
            1、CG标准函数库	和C的标准函数库类似,CG也提供了一系列的内建函数库,这些函数用于计算数学上的通用计算或算法(如纹理映射)。例如:求取入射光线的反射光线用Reflect函数,求折射光线用Reflact函数,作矩阵乘法运算用mul函数。有些函数和GPU指令相对,所以执行效率非常高。绝大部分标准函数都被重载过,用于支持不同长度的数组或向量做参数。2、CG标准函数库分为5个部分(1)数学函数(Mat            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-21 11:21:56
                            
                                103阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录前言一、我们急需使用之前 Offset 中的Shader作为测试二、生成阴影1、添加"LightMode" = "ShadowCaster"的Pass.2、appdata中声明float4 vertex:POSITION;和half3 normal:NORMAL;这是生成阴影所需要的语义.3、v2f中添加V2F_SHADOW_CASTER;用于声明需要传送到片断的数据.4、在顶点着色器中            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-10 22:28:41
                            
                                80阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ShaderForge简介ShaderForge是适用于Unity,基于节点的着色器编辑器 。它可让您更轻松地创建自己的着色器 ,而不需要使用代码。开始以之前我想你已经下载好了插件,如果没有的话可以从下方的链接获取。前言1.官网介绍官网:http://www.acegikmo.com/shaderforge/(包括文档、教程、论坛线程,链接和更多!)  商店链接 :https://www.asse            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-18 14:21:54
                            
                                323阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1 单张纹理Shader "Shader Learning/07 Basic Texture/01 Single Texture"
{
	Properties
	{
		_Color("Color Tint", Color)=(1, 1, 1, 1)
		_MainTex("Main Tex", 2D) = "white" {}
		_Specular("Specular", Color) = (            
                
         
            
            
            
            写在前面Unity的官方文档对graphview的api只有粗略描述,想要通过API来理解GraphView如何搭建,是非常低效和让人抓狂的。
也许是因为是实验API的关系,但个人感觉Unity的其他API也需要大量借助其他非官方资料和开源项目才能理解。下面进入正题:0 实现GraphView子类构造函数中,将EditorWindow作为参数传入以便后面使用另外我们需要添加一些功能函数SetupZ            
                
         
            
            
            
            目录目录Shader compilationConditionals in shadersDifferent types of conditionalsSwitch code branch at runtimeBranching in shadersStatic branchingHow to use static branchingDynamic branchingHow to use dyna            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-30 13:48:21
                            
                                105阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            子类可以定义父类中的同名成员子类中的成员将隐藏父类中的同名成员
父类中的同名成员依然存在于子类中
通过作用域分辨符(::)访问父类中的同名成员 c.Parent::mi类中的成员函数可以进行重载1.重载函数的本质为多个不同的函数
2.函数名和参数列表是唯一的标识
3.函数重载必须发生在同一个作用域中子类中的函数将隐藏父类的同名函数子类无法重载父类中的成员函数
使用作用域分辨符访问父类中的同名函数            
                
         
            
            
            
            文章目录思路实践在方向光的位置,放一个正交相机调整光源相机参数将光源投影空间的正交视锥体画出来投射阴影接收阴影改进超出Shadow map的默认为光照添加光照处理添加PCF柔滑整体边缘添加SDFs_Like效果添加柔和阴影边缘衰减到光照 MixToLightCommandBuffer版CSharp坑1坑2坑3坑4 - 已修正坑5坑6- 已修正坑7Shader尝试给半透明添加接收阴影待改进已实现            
                
         
            
            
            
            CG 
 标准函数库 
    和C的标准函数库类似,Cg提供了一系列内建的标准函数。这些函数用于执行数学上的通用计算或通用算法(纹理映射等),例如,需要求取入射光线的反射光线方向向量可以使用标准函数库中的reflect 函数,求取折射光线方向向量可以使用 refract 函数,做矩阵乘法运算时可以使用mul 函数。 
    有些函数直接和 GPU 指令相            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-08 17:40:09
                            
                                89阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            材质和灯光参数被用于控制内置顶点光照。顶点光照是Direct3D/OpenGL标准的按每顶点计算的光照模型。光照打开时,光照受材质块,颜色材质和平行高光命令的影响。 每像素光照常被实现为自定义顶点/片面程序,并且不使用顶点光照。这种情况下,你不会使用到任何在这里描述的命令,相反,在你完成光照,贴图和任何其他动作时,你需要定义自己的vertex and fragment programs             
                
         
            
            
            
            Shader编程初级:Shader结构准备工具Shader结构最简单的Shader输入结构体输出结构体属性控制Unity提供的内置文件和变量Unity提供的CG/HLSL语义顶点着色器输入结构体中常用语义顶点着色器输出结构体中常用语义片元着色器输出时常用语义 准备工具Unity 2017.1.1f1:用于执行Shader显示渲染效果 Visual Studio 2019:用于Unity代码编辑工            
                
         
            
            
            
            Unity Shader学习记录(二)  在进入真正能看到效果的Shader之前,需要一点数学基础,也就是向量和矩阵方面的数学知识,关于这些知识不予赘述,有大量的书籍资料以及网络文章可以学习,在此仅列举一些必要的概念方便查阅。    Shader中涉及到的数学知识包括向量的运算矩阵的定义矩阵的运算矩阵与向量之间的关系矩阵与坐标系统之间的关系  具备一定的数学基础后,便可以正式编写能看出三维效果的S            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-09 07:11:52
                            
                                112阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、着色器 1.顶点片元着色器 分顶点着色器和片元着色器,对应渲染管线的顶点变换和片元着色阶段;最简单的顶点片元着色器:Shader “MyShader/VertexFragmentShader” { Properties{ _MainColor(“MainColor”,Color) = (1,1,1,1) }SubShader
{
    Tags { "RenderType" = "Opaqu            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-14 16:26:11
                            
                                122阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            花了一晚上的时间终于看懂Image Effect中的Blur,其实很简单,就是一下子没有理解到。原理:使用两个一维[1*7]的高斯滤波模板,一个用在x方向,另一个用在y方向。高斯滤波有模糊的效果。js脚本参数:Down Sample:OnRenderImage中获取的图像进行降采样,其实就是把要处理的纹理变小。有利于加快shader运行速度。Blur Size:在使用高斯模板时,相邻像素点的间隔。