学习光线追踪(2)---光线

0.简介

光线追踪中,计算的是光线,我们这次设计一个光线类。

1.光线类

光线中,包含了几种属性,方向,出发点,颜色,强度,还有一个获取光线打到的点的函数。

class Ray
{
public:
	//光线起点
	vec3 position;
	//光线方向
	vec3 direction;
	//光线颜色
	vec3 color;
	//光的强度
	float intensity;
	//获取光线打到的位置
	vec3 getEndPoint(float distance);
	Ray();
	Ray(vec3 _direction, vec3 _position, float _intensity, vec3 _color) :direction(_direction), position(_position), intensity(_intensity), color(_color) {}
	~Ray();
};
vec3 Ray::getEndPoint(float distance)
{
	return position + distance * direction;
}

这样,我们的光线类就完成了。

发布了64 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ARTELE/article/details/103688174