Add possibility to play with focal length and aperture to the camera. Not enabled by default.
This commit is contained in:
@@ -21,6 +21,10 @@ private:
|
||||
double halfWidth;
|
||||
double halfHeight;
|
||||
public:
|
||||
double focalDistance;
|
||||
double apertureSize;
|
||||
uint32_t rayCount;
|
||||
|
||||
uint32_t verticalSize;
|
||||
uint32_t horizontalSize;
|
||||
double fieldOfView;
|
||||
@@ -29,9 +33,9 @@ public:
|
||||
Matrix inverseTransform;
|
||||
|
||||
public:
|
||||
Camera(uint32_t hsize, uint32_t vsize, double fov);
|
||||
Camera(uint32_t hsize, uint32_t vsize, double fov, double focal = 1, double aperture = 0, uint32_t rayCount = 1);
|
||||
void setTransform(Matrix transform);
|
||||
Ray rayForPixel(uint32_t pixelX, uint32_t pixelY);
|
||||
Ray rayForPixel(uint32_t pixelX, uint32_t pixelY, double horzOffset = 0, double vertOffset = 0);
|
||||
Canvas render(World w, uint32_t depth = 5);
|
||||
};
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ double min3(double a, double b, double c);
|
||||
double max3(double a, double b, double c);
|
||||
|
||||
double frand();
|
||||
double frandclip(double min, double max);
|
||||
|
||||
static double modulo(double a, double b)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user