summaryrefslogtreecommitdiff
path: root/viewport.h
diff options
context:
space:
mode:
authorKeuin <[email protected]>2022-04-14 20:55:49 +0800
committerKeuin <[email protected]>2022-04-14 20:55:49 +0800
commit5f9a664b0f0955cf3e49b5da9ce6d5835cf5f73f (patch)
tree0caa3f8e5859fa2a689e685641d6bf24c508ea8a /viewport.h
parentab29b428bdaa9f5a4691c9896b0fcaa9d7368225 (diff)
Make hitlist<T> no longer a generic class (but hitlist::color<T>(...) is now a generic member function).
Diffstat (limited to 'viewport.h')
-rw-r--r--viewport.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/viewport.h b/viewport.h
index 1e3eaf0..85d17f5 100644
--- a/viewport.h
+++ b/viewport.h
@@ -43,7 +43,7 @@ public:
template<typename T>
class viewport {
public:
- virtual bitmap<T> render(const hitlist<T> &world, vec3d viewpoint, uint16_t image_width, uint16_t image_height) = 0;
+ virtual bitmap<T> render(const hitlist &world, vec3d viewpoint, uint16_t image_width, uint16_t image_height) = 0;
virtual ~viewport() = default;
};
@@ -61,7 +61,7 @@ public:
half_width(width / 2.0), half_height(height / 2.0), center(viewport_center) {}
virtual bitmap<T>
- render(const hitlist<T> &world, vec3d viewpoint, uint16_t image_width, uint16_t image_height) override {
+ render(const hitlist &world, vec3d viewpoint, uint16_t image_width, uint16_t image_height) override {
bias_ctx bc{};
static constexpr uint64_t default_diffuse_seed = 123456789012345678ULL;
return render(world, viewpoint, image_width, image_height, bc, default_diffuse_seed);
@@ -73,7 +73,7 @@ public:
* @param by bias on y axis (0.0 <= by < 1.0)
* @return
*/
- virtual bitmap<T> render(const hitlist<T> &world, vec3d viewpoint,
+ virtual bitmap<T> render(const hitlist &world, vec3d viewpoint,
uint16_t image_width, uint16_t image_height,
bias_ctx &bias, uint64_t diffuse_seed) const {
bitmap<T> image{image_width, image_height};
@@ -96,7 +96,7 @@ public:
}; // offset on screen plane
const auto dir = r + off; // direction vector from camera to current pixel on screen
ray3d ray{viewpoint, dir}; // from camera to pixel (on the viewport)
- const auto pixel = world.color(ray, ruvg);
+ const auto pixel = world.color<T>(ray, ruvg);
image.set(i + img_hw, -j + img_hh, pixel);
}
}