Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

CG 语法的语义 一、语义的作用 CG 语法中提供了许多语义,这种特殊关键字用于修饰函数中的传入参数和返回值 主要作用是让 Shader 知道从哪里读取数据,并且把数据传输到哪里 让我们在 Shader 开发中获取想要的数据,并且可以把数据传输出去 注意: Unity 只支持 CG 中部分语义 二、常用语义 1.应用阶段->顶点着色器 意思:应用阶段传递给模型数据给顶点着色器时 Uni...

一、基础数据类型 1.简单数据类型 类型 意义 例子 uint 32 位无符号整型 12 int 32 位整型 -3 float 32 位浮点数 符号:f 1.2f half 16 位浮点数 符号:h 1.2h fixed 12 位浮点数 3.2 bool 布尔类型 true string 字符串类型 "字符串" 2.纹理对象句柄 类型 意义...

CG 语法运算符和流程控制语句 一、CG 语法运算符 1.比较运算符 < > 大小于 >= 大于等于 <= 小于等于 == 等于 != 不等于 和 C#中一样 运算结果为 bool 类型 2.条件运算符(三目运算符) comdition ? value_if_true : value_if_false condition:条件表达式 如果为真,返回 value_...

ShaderLab 属性类型和 CG 变量类型的匹配关系 一、ShaderLab 的属性类型对应 CG 中变量类型的 shaderLab 中的属性类型 CG 中变量类型 Color,Vector float4,half4,fixed4 Range,Float,Int float,half,fixed 2D sampler2D Cube samplerCUBE 3...

Swizzle 操作符 一、什么是 Swizzle 操作符 Swizzle 操作符通常以.的形式使用,后面跟着所需要的分量顺序 对于四维向量来说,我一般通过 向量.xyzw或者向量.rgba两种写法来分别表示向量中的四个元素 这的意义就是向量一般用于表示坐标和颜色 二、如何使用 Swizzle 操作符 1. 利用它来提取分量 12345int4 i4 = int4(1,2,3,4);...

CG 语言前置知识 一、CG 语言写在哪里 对于顶点/片元着色器来说,CG 语言需要书写在 Pass 通道中 并且在 Pass 中需要加入指令 CGPROGRAM ENDCG 例如: 123456Pass{ CGPROGRAM //CG代码书写的地方 ENDCG} 二、 重要编译指令 真正书写 CG 代码之前,需要先申明 #pragam 声名编译指令 注...

顶点着色器和片元着色器的基本结构 1234567891011121314151617181920212223242526272829303132333435363738394041424344Shader "Lesson20/NewUnlitShader"{ Properties { } SubShader &#...

拓展方法 一、定义 为现有的 非静态类变量类型 添加新方法 二、作用 提升程序拓展性 不需要在对象中重新写方法 不需要继承来添加方法 为别人封装的类型写额外的方法 三、特点 一定是写在静态类中 一定是个静态函数 第一个参数为拓展目标 第一个参数用 this 修饰 四、基本语法 1234访问修饰符 static 返回值 函数名(this 变量类型 变量名,函数参数类型 函数参数名,函数...

线程本地存储 这就简单的说明一下,有机会再详细的写,~(∠・ω< )⌒★ 一、定义 在一个进程中,所有线程的堆内存是共享的(栈除外,线程的栈内存是相互隔离的)。线程局部存储技术是使每个线程与其它线程数据存储隔离。 .Net 提供了三个用于线程本地存储的方法 - 线程的静态字段(ThreadStatic) - ThreadLocal - 数据槽(LocalDataStoreSlot ) ...

CG 语法的内置函数 一、什么是 CG 语言中的内置函数 Unity Shader 中的 CG 语言提供了各种用于图形编程的函数,这些函数是 CG 为我们封装好的逻辑,用于编写 UnityShader 二、内置函数 1.数学函数 1.)三角函数 函数 意义 sincos(floay x,out s,out c) 该函数用于同时计算 sin 和 cos,通过 s,c 进行返回(快...