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

迭代器 一、定义 迭代器(iterator)有时又称光标(cursor) 是程序设计的软件设计模式 迭代器模式提供一个方法顺序访问一个聚合对象中的各个元素 而又不暴露其内部的标识 在表现效果上看 是可以在容器对象(例如链表或数组)上遍历访问的接口 设计人员无需关心容器对象的内存分配的实现细节 可以用 foreach 遍历的类,都是实现了迭代器的 二、标准实现迭代器 关键接口:IEnumer...

顺序存储和链式存储 一、数据结构 数据结构 数据结构是计算机存储、组织数据的方式(规则)数据结构是指相互之间存在一种或多种特定关系的数据元素的集合比如自定义的一个 类 也可以称为一种数据结构 自己定义的数据组合规则 不要把数据结构想的太复杂简单点理解,就是人定义的 存储数据 和 表示数据之间关系 的规则而已 常用的数据结构(前辈总结和制定的一些经典规则) 数组、栈、队列、链表、树、图、堆、...

预处理指令 一、什么是编译器 编译器是一种翻译程序 它用于将源语言程序翻译为目标语言程序 源语言程序:某种程序设计语言写成的,比如 C#、C、C++、Java 等语言写的程序 目标语言程序:二进制数表示的伪机器代码写的程序 二、什么是预处理指令 预处理器指令 指导编译器 在实际编译开始之前对信息进行预处理 预处理器指令 都是以#开始 预处理器指令不是语句,所以它们不以分号;结束 目前我们...

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 声名编译指令 注...