摘要:
类声明: #pragma once #ifndef __CAMERA_HEADER__ #define __CAMERA_HEADER__ #include "../utilities/geometry.h" class World; class Camera { public: Camera(); 阅读全文
摘要:
同心映射的算法原理如下图,具体阐述参考书籍: 由于同心映射是针对于samples这个数组的映射,所以只需要修改samples这个数组的数据就行了。 需要修改的Sampler类: #pragma once #ifndef __SAMPLER_HEADER__ #define __SAMPLER_HEA 阅读全文
摘要:
原理参照书籍 类声明: #pragma once #ifndef __HAMMERSLEY_HEADER__ #define __HAMMERSLEY_HEADER__ #include "sampler.h" class Hammersley :public Sampler { public: H 阅读全文
摘要:
类声明: #pragma once #ifndef __NROOKS_HEADER__ #define __NROOKS_HEADER__ #include "sampler.h" class NRooks :public Sampler { public: NRooks(); ~NRooks(); 阅读全文
摘要:
多重抖动在书上说的是水平和竖直方面随机交换。 类声明: #pragma once #ifndef __MULTIJITTERED_HEADER__ #define __MULTIJITTERED_HEADER__ #include "sampler.h" class MultiJittered :p 阅读全文
摘要:
抖动采样算法测试,小图形看不出什么明显区别,还是上代码和测试图吧。 类声明: #pragma once #ifndef __JITTERED_HEADER__ #define __JITTERED_HEADER__ #include "sampler.h" class Jittered:public 阅读全文
摘要:
此是随机采样算法,效果感觉一般般。 类声明: #pragma once #ifndef __PURERANDOM_HEADER__ #define __PURERANDOM_HEADER__ #include "sampler.h" class PureRandom :public Sampler 阅读全文
摘要:
这个算法是均匀采样算法,继承于Sampler类。 类声明: #pragma once #ifndef __REGULAR_HEADER__ #define __REGULAR_HEADER__ #include "sampler.h" class Regular :public Sampler { 阅读全文
摘要:
此是所有采样的基类,这样定义的好处是,我们可以分别测试每一个采样算法。 类定义: #pragma once #ifndef __SAMPLER_HEADER__ #define __SAMPLER_HEADER__ #include "../utilities/geometry.h" class S 阅读全文
摘要:
World类其他都一样的,就修改build函数就行了,以后测试所有代码,都是基于两个或多个球体的,不再重复阐述。 void World::build() { vp.set_hres(200); vp.set_vres(100); tracer_ptr = new MultiSphere(this); 阅读全文