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

CG 函数 一、无返回值的函数 1. 基本结构 1234void name(in 参数类型 参数名, out 参数类型 参数名){ //函数体} void 返回值 name 函数名称 in 表示输入参数,表示函数外传入函数的参数,函数内部不会修改,只会使用该参数进行计算,可以有多个 out 表示输出参数,表示函数内部传递给函数调用者,在函数内部必须对该参数进行初始...

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 &#...

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

CG 内置文件 一、CG 内置文件的位置和作用 1.位置 我们可以在 Unity 的安装目录中找到 cG 内置文件 在 Editor->Data->CGIncludes 中 后缀为 cginc 的文件为 CG 语言内置文件 后缀为 g1slinc 的文件为 GLSL 语言内置文件 2.作用 他们是预定义的 shader 文件,里面包含了一些已经写好的 shader 相关逻辑 作用...