摘要: 2D游戏中通过短时间内快速切换贴图来实现动画效果。为了减少贴图数量,可以合并为一张贴图,根据时间来修改UV坐标,达到和切换贴图一样的效果。 在UnityShader的Properties块中,定义属性: 这里定义了合并后的贴图、子贴图数量和切换动画的速度。 在CG代码中可以这么写: 这里没有修改UV 阅读全文
posted @ 2018-09-19 15:03 dreamnwx1 阅读(1308) 评论(0) 推荐(0) 编辑
摘要: 在Data Lab中有一个logicalShift函数给定一个值x和需要移动的位数n,要求只是用运算符:~ & ^ | + ,实现逻辑右移运算。思考了很久,然后我写出了如下的代码: / logicalShift shift x to the right by n, using a logical s 阅读全文
posted @ 2018-02-13 19:36 dreamnwx1 阅读(984) 评论(0) 推荐(0) 编辑
摘要: 前面已经介绍了全局函数construct()和destory(),分别完成指定内存地址上的对象构造和析构操作。下面主要是介绍空间配置器中关于空间配置和释放的操作。STL中空间配置和释放由负责。SGI对此的设计哲学为: 向system heap要求空间 考虑多线程(multi threads)状态 考 阅读全文
posted @ 2018-01-30 22:36 dreamnwx1 阅读(154) 评论(0) 推荐(0) 编辑
摘要: SGI虽然定义了名为allocator的配置器,但从未使用过。SGI的allocator只是包装了C++的::operatpor new和::operator delete,效率不高。STL中内存配置操作由alloc::allocate()负责,内存释放操作由alloc::deallocate()负 阅读全文
posted @ 2018-01-30 19:56 dreamnwx1 阅读(144) 评论(0) 推荐(0) 编辑
摘要: Trie树又称为前缀树(Prefix Tree)、单词查找树或键树,是一种多叉树结构。 上图是一棵 Trie 树,表示了关键字集合{“a”, “to”, “tea”, “ted”, “ten”, “i”, “in”, “inn”} 。从上图可以归纳出Trie树的基本性质: 1. 根节点不包含字符,除 阅读全文
posted @ 2018-01-30 15:52 dreamnwx1 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 空间配置器(allocator)这个概念在阅读源码之前我根本没有听过,原以为内存分配都是使用new和delete运算符(注意和operator new、placement new、operator delete以及placement delete不同)。在实际使用STL编程时也很少会遇到自己去实现一 阅读全文
posted @ 2018-01-29 21:57 dreamnwx1 阅读(250) 评论(0) 推荐(0) 编辑