Skip to content

Commit 6eda475

Browse files
authored
Merge pull request #750 from RayTracing/tdb/names
Organized the use of t's, tmax's, etc.
2 parents 6254ce8 + e1ed85f commit 6eda475

24 files changed

+189
-186
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ Change Log -- Ray Tracing in One Weekend
44
# v3.2.2 (in progress)
55

66
### Common
7-
- Fix: Addded `fmin` to book text for `cos_theta` of `refract`
7+
- Fix: Added `fmin` to book text for `cos_theta` of `refract`
8+
- Fix: Standardized naming for ray-t and time parameters (#746)
89

910
### In One Weekend
1011

books/RayTracingInOneWeekend.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -889,7 +889,7 @@
889889
sphere(point3 cen, double r) : center(cen), radius(r) {};
890890

891891
virtual bool hit(
892-
const ray& r, double tmin, double tmax, hit_record& rec) const override;
892+
const ray& r, double t_min, double t_max, hit_record& rec) const override;
893893

894894
public:
895895
point3 center;
@@ -1089,7 +1089,7 @@
10891089
void add(shared_ptr<hittable> object) { objects.push_back(object); }
10901090

10911091
virtual bool hit(
1092-
const ray& r, double tmin, double tmax, hit_record& rec) const override;
1092+
const ray& r, double t_min, double t_max, hit_record& rec) const override;
10931093

10941094
public:
10951095
std::vector<shared_ptr<hittable>> objects;
@@ -2000,7 +2000,7 @@
20002000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++
20012001

20022002
virtual bool hit(
2003-
const ray& r, double tmin, double tmax, hit_record& rec) const override;
2003+
const ray& r, double t_min, double t_max, hit_record& rec) const override;
20042004

20052005
public:
20062006
point3 center;

books/RayTracingTheNextWeek.html

Lines changed: 70 additions & 68 deletions
Large diffs are not rendered by default.

books/RayTracingTheRestOfYourLife.html

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -815,10 +815,10 @@
815815
auto dist_to_focus = 10.0;
816816
auto aperture = 0.0;
817817
auto vfov = 40.0;
818-
auto t0 = 0.0;
819-
auto t1 = 1.0;
818+
auto time0 = 0.0;
819+
auto time1 = 1.0;
820820

821-
camera cam(lookfrom, lookat, vup, vfov, aspect_ratio, aperture, dist_to_focus, t0, t1);
821+
camera cam(lookfrom, lookat, vup, vfov, aspect_ratio, aperture, dist_to_focus, time0, time1);
822822

823823
// Render
824824

@@ -1510,8 +1510,8 @@
15101510
return true;
15111511
}
15121512

1513-
virtual bool bounding_box(double t0, double t1, aabb& output_box) const override {
1514-
return ptr->bounding_box(t0, t1, output_box);
1513+
virtual bool bounding_box(double time0, double time1, aabb& output_box) const override {
1514+
return ptr->bounding_box(time0, time1, output_box);
15151515
}
15161516

15171517
public:
@@ -1741,7 +1741,7 @@
17411741
class hittable {
17421742
public:
17431743
virtual bool hit(const ray& r, double t_min, double t_max, hit_record& rec) const = 0;
1744-
virtual bool bounding_box(double t0, double t1, aabb& output_box) const = 0;
1744+
virtual bool bounding_box(double time0, double time1, aabb& output_box) const = 0;
17451745

17461746
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++ highlight
17471747
virtual double pdf_value(const point3& o, const vec3& v) const {
@@ -2265,10 +2265,10 @@
22652265
auto dist_to_focus = 10.0;
22662266
auto aperture = 0.0;
22672267
auto vfov = 40.0;
2268-
auto t0 = 0.0;
2269-
auto t1 = 1.0;
2268+
auto time0 = 0.0;
2269+
auto time1 = 1.0;
22702270

2271-
cam = camera(lookfrom, lookat, vup, vfov, aspect, aperture, dist_to_focus, t0, t1);
2271+
cam = camera(lookfrom, lookat, vup, vfov, aspect, aperture, dist_to_focus, time0, time1);
22722272

22732273
return world;
22742274
}

src/InOneWeekend/hittable_list.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class hittable_list : public hittable {
2828
void add(shared_ptr<hittable> object) { objects.push_back(object); }
2929

3030
virtual bool hit(
31-
const ray& r, double tmin, double tmax, hit_record& rec) const override;
31+
const ray& r, double t_min, double t_max, hit_record& rec) const override;
3232

3333
public:
3434
std::vector<shared_ptr<hittable>> objects;

src/InOneWeekend/sphere.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class sphere : public hittable {
2424
: center(cen), radius(r), mat_ptr(m) {};
2525

2626
virtual bool hit(
27-
const ray& r, double tmin, double tmax, hit_record& rec) const override;
27+
const ray& r, double t_min, double t_max, hit_record& rec) const override;
2828

2929
public:
3030
point3 center;

src/TheNextWeek/aarect.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ class xy_rect : public hittable {
2424
double _x0, double _x1, double _y0, double _y1, double _k, shared_ptr<material> mat
2525
) : x0(_x0), x1(_x1), y0(_y0), y1(_y1), k(_k), mp(mat) {};
2626

27-
virtual bool hit(const ray& r, double t0, double t1, hit_record& rec) const override;
27+
virtual bool hit(const ray& r, double t_min, double t_max, hit_record& rec) const override;
2828

29-
virtual bool bounding_box(double t0, double t1, aabb& output_box) const override {
29+
virtual bool bounding_box(double time0, double time1, aabb& output_box) const override {
3030
// The bounding box must have non-zero width in each dimension, so pad the Z
3131
// dimension a small amount.
3232
output_box = aabb(point3(x0,y0, k-0.0001), point3(x1, y1, k+0.0001));
@@ -46,9 +46,9 @@ class xz_rect : public hittable {
4646
double _x0, double _x1, double _z0, double _z1, double _k, shared_ptr<material> mat
4747
) : x0(_x0), x1(_x1), z0(_z0), z1(_z1), k(_k), mp(mat) {};
4848

49-
virtual bool hit(const ray& r, double t0, double t1, hit_record& rec) const override;
49+
virtual bool hit(const ray& r, double t_min, double t_max, hit_record& rec) const override;
5050

51-
virtual bool bounding_box(double t0, double t1, aabb& output_box) const override {
51+
virtual bool bounding_box(double time0, double time1, aabb& output_box) const override {
5252
// The bounding box must have non-zero width in each dimension, so pad the Y
5353
// dimension a small amount.
5454
output_box = aabb(point3(x0,k-0.0001,z0), point3(x1, k+0.0001, z1));
@@ -68,9 +68,9 @@ class yz_rect : public hittable {
6868
double _y0, double _y1, double _z0, double _z1, double _k, shared_ptr<material> mat
6969
) : y0(_y0), y1(_y1), z0(_z0), z1(_z1), k(_k), mp(mat) {};
7070

71-
virtual bool hit(const ray& r, double t0, double t1, hit_record& rec) const override;
71+
virtual bool hit(const ray& r, double t_min, double t_max, hit_record& rec) const override;
7272

73-
virtual bool bounding_box(double t0, double t1, aabb& output_box) const override {
73+
virtual bool bounding_box(double time0, double time1, aabb& output_box) const override {
7474
// The bounding box must have non-zero width in each dimension, so pad the X
7575
// dimension a small amount.
7676
output_box = aabb(point3(k-0.0001, y0, z0), point3(k+0.0001, y1, z1));
@@ -82,9 +82,9 @@ class yz_rect : public hittable {
8282
double y0, y1, z0, z1, k;
8383
};
8484

85-
bool xy_rect::hit(const ray& r, double t0, double t1, hit_record& rec) const {
85+
bool xy_rect::hit(const ray& r, double t_min, double t_max, hit_record& rec) const {
8686
auto t = (k-r.origin().z()) / r.direction().z();
87-
if (t < t0 || t > t1)
87+
if (t < t_min || t > t_max)
8888
return false;
8989

9090
auto x = r.origin().x() + t*r.direction().x();
@@ -103,9 +103,9 @@ bool xy_rect::hit(const ray& r, double t0, double t1, hit_record& rec) const {
103103
return true;
104104
}
105105

106-
bool xz_rect::hit(const ray& r, double t0, double t1, hit_record& rec) const {
106+
bool xz_rect::hit(const ray& r, double t_min, double t_max, hit_record& rec) const {
107107
auto t = (k-r.origin().y()) / r.direction().y();
108-
if (t < t0 || t > t1)
108+
if (t < t_min || t > t_max)
109109
return false;
110110

111111
auto x = r.origin().x() + t*r.direction().x();
@@ -124,9 +124,9 @@ bool xz_rect::hit(const ray& r, double t0, double t1, hit_record& rec) const {
124124
return true;
125125
}
126126

127-
bool yz_rect::hit(const ray& r, double t0, double t1, hit_record& rec) const {
127+
bool yz_rect::hit(const ray& r, double t_min, double t_max, hit_record& rec) const {
128128
auto t = (k-r.origin().x()) / r.direction().x();
129-
if (t < t0 || t > t1)
129+
if (t < t_min || t > t_max)
130130
return false;
131131

132132
auto y = r.origin().y() + t*r.direction().y();

src/TheNextWeek/box.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ class box : public hittable {
2222
box() {}
2323
box(const point3& p0, const point3& p1, shared_ptr<material> ptr);
2424

25-
virtual bool hit(const ray& r, double t0, double t1, hit_record& rec) const override;
25+
virtual bool hit(const ray& r, double t_min, double t_max, hit_record& rec) const override;
2626

27-
virtual bool bounding_box(double t0, double t1, aabb& output_box) const override {
27+
virtual bool bounding_box(double time0, double time1, aabb& output_box) const override {
2828
output_box = aabb(box_min, box_max);
2929
return true;
3030
}
@@ -50,8 +50,8 @@ box::box(const point3& p0, const point3& p1, shared_ptr<material> ptr) {
5050
sides.add(make_shared<yz_rect>(p0.y(), p1.y(), p0.z(), p1.z(), p0.x(), ptr));
5151
}
5252

53-
bool box::hit(const ray& r, double t0, double t1, hit_record& rec) const {
54-
return sides.hit(r, t0, t1, rec);
53+
bool box::hit(const ray& r, double t_min, double t_max, hit_record& rec) const {
54+
return sides.hit(r, t_min, t_max, rec);
5555
}
5656

5757

src/TheNextWeek/bvh.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class bvh_node : public hittable {
3434
virtual bool hit(
3535
const ray& r, double t_min, double t_max, hit_record& rec) const override;
3636

37-
virtual bool bounding_box(double t0, double t1, aabb& output_box) const override;
37+
virtual bool bounding_box(double time0, double time1, aabb& output_box) const override;
3838

3939
public:
4040
shared_ptr<hittable> left;
@@ -120,7 +120,7 @@ bool bvh_node::hit(const ray& r, double t_min, double t_max, hit_record& rec) co
120120
}
121121

122122

123-
bool bvh_node::bounding_box(double t0, double t1, aabb& output_box) const {
123+
bool bvh_node::bounding_box(double time0, double time1, aabb& output_box) const {
124124
output_box = box;
125125
return true;
126126
}

src/TheNextWeek/constant_medium.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ class constant_medium : public hittable {
3535
virtual bool hit(
3636
const ray& r, double t_min, double t_max, hit_record& rec) const override;
3737

38-
virtual bool bounding_box(double t0, double t1, aabb& output_box) const override {
39-
return boundary->bounding_box(t0, t1, output_box);
38+
virtual bool bounding_box(double time0, double time1, aabb& output_box) const override {
39+
return boundary->bounding_box(time0, time1, output_box);
4040
}
4141

4242
public:
@@ -59,7 +59,7 @@ bool constant_medium::hit(const ray& r, double t_min, double t_max, hit_record&
5959
if (!boundary->hit(r, rec1.t+0.0001, infinity, rec2))
6060
return false;
6161

62-
if (debugging) std::cerr << "\nt0=" << rec1.t << ", t1=" << rec2.t << '\n';
62+
if (debugging) std::cerr << "\nt_min=" << rec1.t << ", t_max=" << rec2.t << '\n';
6363

6464
if (rec1.t < t_min) rec1.t = t_min;
6565
if (rec2.t > t_max) rec2.t = t_max;

0 commit comments

Comments
 (0)