摘要:
1. lambert diffuse, PI的来源 2. BlinPhong specular : 问题是,越光滑,损失的能量越多 参考http://www.rorydriscoll.com/2009/01/25/energy-conservation-in-games/ 3. specuar + 阅读全文
摘要:
参考[http://www.rorydriscoll.com/2012/01/15/cubemap-texel-solid-angle/] 计算diffuse irradiance map或者求解sh系数的时候,需要对整个球面进行积分,由于cubemap不同位置的像素投影到球面上面积不同,所以不能平 阅读全文
摘要:
transform = TRS T就是transform的最后一列。关于R和S的分解,PBRT给了一个公式:M_(i+1) = (M_i + ((M_i)^T)^(-1))*0.5,直到M收敛。M初始状态为transform左上角的3*3的矩阵。 M收敛后得到的矩阵为R,从而可以解出S.代码大概是这 阅读全文
摘要:
用C对象构造B对象是可以的,但是为啥用B对象构造B就没有输出“B copy construction”呢?原来B(const A& a) 并不被认为是拷贝构造函数,编译器还会生成默认的B(const B&)拷贝构造,B b2(b1)实际调用的是B(const B&),而不是声明的B(const A& 阅读全文
摘要:
采用assimp加载FBX文件。首先记录下ubuntu下assimp的编译安装。 assimp加载完模型后,aiScene里面,aiMesh数组负责保存mesh相关的几何信息(还包括该mesh种架设的骨骼们),而aiNode,一棵场景树保存了各个mesh?node?bone?的层级关系。而骨骼动画就 阅读全文
摘要:
参考https://sourcemaking.com/design_patterns/command/cpp/2 a "receiver" object the method to invoke the arguments to pass 阅读全文
摘要:
参考 http://www.upantool.com/jiaocheng/hdd/8762.html 磁盘结构损坏且无法读取 原因: 1、突然关机; 2、硬盘没有正常通过系统卸载; 3、病毒破坏; 4、有可能是usb供电不足; 5、也可能是文件丢失; 6、还可能是盘片损坏。 解决方案: 1、遇到这种 阅读全文
摘要:
题目链接 题目叙述很啰嗦,可以简化为:n个球[1-1e5],放到m个不同的桶里,一共多少种不同的放法。【桶里可以不放】 解C(n+m-1, m-1) 由于m,n可能很大,所以需要用逆元。扩展欧几里得。 阅读全文
摘要:
下载的一个库编译时依赖boost,记录一下boost的编译: 参数含义参考 链接 编好boost后,将路径写到cmakelist文件后Configure成功了 但是generate时出错了: 说是路径给错了,的确上面的"D:/Documents/Opencv/opencv/build2"路径是不存在 阅读全文
摘要:
实习需要学习了一下球谐光照,总结如下: 1. 首先是下面的rendering equation 第二部分是一个半球面上的积分。 2. 球谐变换 类比傅里叶变换[采用定义在圆上的三角函数],球谐变换采用定义在球面上的一组球谐基函数。[Spherical Harmonic Lighting: The G 阅读全文