5 #ifndef _SPICA_CAMERA_INTERFACE_H_
6 #define _SPICA_CAMERA_INTERFACE_H_
8 #include "core/common.h"
9 #include "core/transform.h"
10 #include "core/cobject.h"
12 #include "core/render.hpp"
23 double lensRadius,
double focalLength,
24 std::shared_ptr<Film> film);
32 const Point2d& randLens,
double* pdfPos =
nullptr,
33 double* pdfDir =
nullptr)
const = 0;
36 virtual void pdfWe(
const Ray& ray,
double* pdfPos,
double* pdfDir)
const = 0;
41 inline std::shared_ptr<Film> film()
const {
return film_; }
42 inline const Transform& cameraToWorld()
const {
return cameraToWorld_; }
43 inline const Transform& cameraToScreen()
const {
return cameraToScreen_; }
48 Transform cameraToScreen_, rasterToCamera_;
49 Transform screenToRaster_, rasterToScreen_;
50 double lensRadius_, focalLength_;
51 std::shared_ptr<Film> film_;
56 #endif // _SPICA_CAMERA_INTERFACE_H_
RGB spectrum.
Definition: spectrum.h:18
Ray class.
Definition: ray.h:24
Definition: bounds2d.h:16
Definition: visibility_tester.h:15
Definition: interaction.h:23