04 2019 档案
摘要:SendMessage查找的方法是在自身当中去查找 SendMessageUpwards查找的方法是在自身和父类中去查找,如果父类还有父类,继续查找,知道找到根节点为止、 BroadcastMessage查找的方法是在自身和子类中去查找,如果子类还有子类,继续查找,知道没有任何子类。
阅读全文
摘要:Shader "Unlit/Billboard"{ Properties { _MainTex ("Texture", 2D) = "white" {} _Color("Color Tint",Color) = (1,1,1,1) _VerticalBillboarding("Vertical Re
阅读全文
摘要:(1) deferred shading:有最佳的光照和阴影效果,在场景中存在许多的实时光照时,使用deferred shading也是最佳的方案,之所以叫做deferred(延迟),是因为shading的时机不是发生在第一个Pass的顶点/片元函数内,而是存在延迟,直到第二Pass的时候才执行,每
阅读全文
摘要:摄像机按层渲染 Camera.cullingMask = 1<<x;//渲染x层 Camera.cullingMask = ~(1<<x);//渲染除去x的所有层 Camera.cullingMask &= ~(1<<x);//关闭层x Camera.cullingMask |= (1<<x);//
阅读全文
摘要:#include <iostream>using namespace std;int main(){ string s = "", table = "0123456789ABCDEF"; long long M = 0, N = 0; cin >> M >> N; if( M == 0) { s =
阅读全文
摘要:数组,arrayList和List (1)数组在C#中是最早出现的。它在内存中是连续的存储的,所以索引速度很快,而且赋值与修改元素也很简单。可以利用偏移地址访问元素,时间复杂度为O(1);可以用折半查找法查找元素,效率高。 数组也有很多缺点。数组分配在一块连续的数据空间上,因此分配空间时必须确定大小
阅读全文
摘要:解决哈希冲突的方法 (1) 开放定址法 当冲突发生时使用某种探查技术在散列表中形成一个探查序列。沿此序列逐个单元的查找,直到找到给定的关键字,或者碰到一个开放的地址为止。 线性探测法:挨个向后找。 线性补偿探测法:将步长从1改为q,要求q与m互质。J=(j+q)%m 随机探测法:步长改为随机数。 双
阅读全文
摘要:Hashtable internal const Int32 HashPrime = 101;//一个固定的素数 private const Int32 InitialSize = 3;//哈希表的默认容量 private struct bucket { public Object key;//键
阅读全文
摘要:ConcurrentDictionary ConcurrentDictionary一大特点是线程安全,在没有ConcurrentDictionary前 在多线程下用Dictionary,不管读写都要加个锁,不但麻烦,性能上也不是很好 微软得出的结果是默认的锁的数量是CPU核的个数,这个线程池默认的线
阅读全文
摘要:程序集和命名空间实际上没有什么关系。 程序集是.NET中相关类型的物理组织形式,有点类似于Windows的可执行文件或者动态链接库文件。 命名空间是逻辑上的,仅仅只是为了解决类名称的冲突问题而提供的给类“分类”的系统。 一个程序集可以包含多个命名空间,而一个命名空间也可以跨多个程序集。 如果说命名空
阅读全文
摘要:new是覆盖父类的虚方法,当用子类构造方法构造父类对象时调用该虚方法调的是父类的方法(视为子类屏蔽了父类的方法,没实现,还是调用父类的方法)。 override是重写父类的虚方法,当用子类构造方法构造父类对象时调用该虚方法调的是子类的方法。
阅读全文
摘要:说的通俗些Attribute是类,不过是一类比较特殊的类,Attribute必须写在一对方括号中,用来处理.NET中多种问题:序列化、程序的安全特征等等,在.NET中的作用非同凡响 Attribute的目的是为元素提供关联附加信息。 1.自定义Attribute类:VersionAttribute
阅读全文
摘要:sealed用于类时,该类被称为密封类,密封类不能被继承; C#提出了密封方法(sealed method) 的概念,以防止在方法所在类的派生类中对该方法的重载。对方法可以使用sealed 修饰符,这时我们称该方法是一个密封方法。 不是类的每个成员方法都可以作为密封方法密封方法,要作为密封方法必须对
阅读全文