D3D-Alpha混合

在前面的介绍颜色的章节中,颜色结构体除了RGB信息外,还有Alpha信息,代表着物体的透明状态。当渲染一些如玻璃、湖水时,就可以通过Alpha混合,设置半透明物体的Alpha值和一个半透明计算公式把透明物体和后台缓冲区中的颜色混合,然后将混合后的颜色更新到缓冲区,实现了半透明物体的绘制。

Published: 24 Feb 2014

剑指offer 读书笔记

每个函数都需要对输入的函数参数进行验证,查看函数用户输入的实参有没有问题。如赋值运算符重载要考虑是否和当前对象相同,链表操作考虑头指针是否为NULL。
小数(如float和double)不可以使用等号进行判断。
使用位操作-与操作作为判断一个整数是奇数还是偶数是一个比较好的方法。

Published: 10 Jan 2014

程序员面试宝典

十进制转N进制

十进制整数转换N进制整数:除N取余,逆序排列。用N整除十进制整数,可以得到一个商和余数,在用N去除商,又获得一个商和余数,如此进行,直至商为0位置,然后把前面获得的余数作为低位,后面的余数作为高位排列。
十进制小数转换为N进制小数:乘N取整,顺序排列。用N成十进制小数,可以得道积,积的整数部分取出,然后用N乘剩下的小数部分,又获得一个积,然后将整数取出。以此类推,直至积中小数为0.然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位

Published: 10 Jan 2014

Effective C++ 读书笔记

条款1:视C++为一个联邦语言

C++主要的次语言:C,Object-oriented C++,Template C++,STL。

Published: 10 Jan 2014

编程之美 读书笔记

2.1求二进制数中1的个数
解法一:将数除以2至0,余数为1的次数数
解法二:使用位运算:将该数与0x01与运算,然后左移1位。与运算结果为1的次数。位操作和除、余操作相比效率更高。
解法三:让算法的复杂度只和1有关,原理是v&(v-1)后的结果即为将v二进制数的为1的最低位消除。
解法四:使用分治判断法判断一个数的1的位数,但是根据程序的书写最多可能要判断255此才可以,因此此方法不太好。
解法五:使用分治判断不好,那可以使用hash将二进制数(key)映射到1的个数(value),只要前期将hash表建好即可。这种方法是使用空间换时间,若二进制位数较少如八位,这个是很好的算法,但是若位数很多如32位,这个方法就不好了。
拓展问题:两个二进制整数A、B,他们有多少位是不同的?
答:异或操作,结果然后计算1的个数。

Published: 10 Jan 2014

2013,总得写点东西结束

每到元旦,都会写一下总结。没到写总结,都会想不起来今年究竟干了什么,这样来看,说明确实也没干什么。幸亏看书时往往会写一些博客,以及在忙的时候一般会用google calender记流水账日记,所以翻翻看还可以回忆回忆。

Published: 03 Jan 2014

Unity Debug

1.使用动画,但是提示: The AnimationClip 'TRun' used by the Animation component 'ThirdPerson' must be marked as Legacy. UnityEngine.Animation:CrossFade(String)

Published: 01 Jan 2014

Python语法基础

操作符

/ 传统除法(地板除)

Published: 29 Dec 2013